From 8149f0869013357b4e4a1249f3113dca177237ff Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:40:04 +0500 Subject: [PATCH 001/122] Create solhint.yml --- .github/workflows/solhint.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/solhint.yml diff --git a/.github/workflows/solhint.yml b/.github/workflows/solhint.yml new file mode 100644 index 0000000..ddf8302 --- /dev/null +++ b/.github/workflows/solhint.yml @@ -0,0 +1,28 @@ +name: Solhint Linter + +on: + push: + branches: + - '**' # This wildcard ensures that all branches are in scope + +jobs: + lint: + name: Lint Solidity Files + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '14' # You can specify your desired Node.js version here + + - name: Install Solhint + run: npm install -g solhint + + - name: Run Solhint + run: | + solhint --init + solhint 'src/*.sol' From 22cf237883556d52e597daf0c2225e3c09a12545 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:47:09 +0500 Subject: [PATCH 002/122] Create .solhint.json --- .solhint.json | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .solhint.json diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 0000000..d1c533f --- /dev/null +++ b/.solhint.json @@ -0,0 +1,40 @@ +{ + "extends": "solhint:default", + "plugins": [], + "rules": { + "avoid-throw": "warn", + "avoid-suicide": "error", + "avoid-sha3": "warn", + "avoid-tx-origin:": "warn", + "not-rely-on-time": "warn", + "not-rely-on-block-hash": "warn", + "code-complexity": ["warn",7], + "explicit-types": ["warn","explicit"], + "max-states-count": ["warn",15], + "no-console": "error", + "no-empty-blocks": "warn", + "no-global-import": "warn", + "no-unused-import": "warn", + "no-unused-vars": "warn", + "one-contract-per-file": "warn", + "payable-fallback": "warn", + "reason-string": ["warn",{"maxLength":32}], + "quotes": ["error","double"], + "const-name-snakecase": "warn", + "contract-name-camelcase": "warn", + "event-name-camelcase": "warn", + "func-name-mixedcase": "warn", + "use-forbidden-name": "warn", + "func-order": "warn", + "visibility-modifier-order": "warn", + "avoid-call-value": "warn", + "avoid-low-level-calls": "warn", + "check-send-result": "warn", + "compiler-version": ["error","^0.8.0"], + "multiple-sends": "warn", + "no-complex-fallback": "warn", + "no-inline-assembly": "warn", + "reentrancy": "warn", + "state-visibility": "warn" + } +} From 1d1aa5aed8d729b561a7da27d562d56d678ebd1c Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:51:02 +0500 Subject: [PATCH 003/122] Update solhint.yml From 668dbe8227ddb999abe717dfd1be81f81dc72b76 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 14:52:02 +0500 Subject: [PATCH 004/122] Update solhint.yml From 90135a8fded9135b369b65bdd9f907eb648b3c0e Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 15:04:07 +0500 Subject: [PATCH 005/122] Create slither.yml --- .github/workflows/slither.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/workflows/slither.yml diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml new file mode 100644 index 0000000..0738890 --- /dev/null +++ b/.github/workflows/slither.yml @@ -0,0 +1,11 @@ +name: Slither Analysis +on: + push: + branches: + - '**' # This wildcard ensures that all branches are in scope +jobs: + analyze: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: crytic/slither-action@v0.3.0 From 1fdd5ca740cb20bf4de99e2fd13a895d5c68db3e Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 15:17:49 +0500 Subject: [PATCH 006/122] Create test.t.sol --- test/test.t.sol | 1 + 1 file changed, 1 insertion(+) create mode 100644 test/test.t.sol diff --git a/test/test.t.sol b/test/test.t.sol new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/test/test.t.sol @@ -0,0 +1 @@ + From d05f84934b86045da270fa16d2c2346596509113 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Fri, 13 Oct 2023 15:20:37 +0500 Subject: [PATCH 007/122] Create foundry-test.yml --- .github/workflows/foundry-test.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/foundry-test.yml diff --git a/.github/workflows/foundry-test.yml b/.github/workflows/foundry-test.yml new file mode 100644 index 0000000..3cae7b1 --- /dev/null +++ b/.github/workflows/foundry-test.yml @@ -0,0 +1,24 @@ +name: Run Foundry Tests + +on: + push: + branches: + - '**' # This wildcard ensures that all branches are in scope + +jobs: + check: + name: Foundry project + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Run tests + run: forge test -vvv + + - name: Run snapshot + run: forge snapshot From 817de0650c286f5bc2710681dd574ba5dfc563ff Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Tue, 17 Oct 2023 11:55:28 +0500 Subject: [PATCH 008/122] Update slither.yml From f9974c0899c767fec8d7b71c4c579ea57d569ca3 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Tue, 17 Oct 2023 12:00:16 +0500 Subject: [PATCH 009/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 0738890..bf50141 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysis on: push: branches: - - '**' # This wildcard ensures that all branches are in scope + - 'feat/operator-restrictions' # This wildcard ensures that all branches are in scope jobs: analyze: runs-on: ubuntu-latest From c5b14710c06de060e19561b51c3114e8f09c0d85 Mon Sep 17 00:00:00 2001 From: 0xabdullah0 <135041453+0xabdullah0@users.noreply.github.com> Date: Wed, 18 Oct 2023 10:44:01 +0000 Subject: [PATCH 010/122] Update slither.yml --- .github/workflows/slither.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index bf50141..9803cb4 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -9,3 +9,5 @@ jobs: steps: - uses: actions/checkout@v3 - uses: crytic/slither-action@v0.3.0 + with: + target: 'src/' From dcd1eb51531caa63380554d7fb0077e74a832aed Mon Sep 17 00:00:00 2001 From: 0xabdullah0 <135041453+0xabdullah0@users.noreply.github.com> Date: Wed, 18 Oct 2023 10:44:53 +0000 Subject: [PATCH 011/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 9803cb4..859a12e 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -9,5 +9,5 @@ jobs: steps: - uses: actions/checkout@v3 - uses: crytic/slither-action@v0.3.0 - with: + with: target: 'src/' From b55ccbed3fa8ee69bd6d9723f2ee1afdcfb12852 Mon Sep 17 00:00:00 2001 From: 0xabdullah0 <135041453+0xabdullah0@users.noreply.github.com> Date: Wed, 18 Oct 2023 10:53:33 +0000 Subject: [PATCH 012/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 859a12e..1a39c26 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -1,4 +1,4 @@ -name: Slither Analysis +name: Slither Analysiss on: push: branches: From 07cde018a34fddaec9bafda6444a673e9f23d3a5 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:52:25 +0500 Subject: [PATCH 013/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 1a39c26..75a28ab 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysiss on: push: branches: - - 'feat/operator-restrictions' # This wildcard ensures that all branches are in scope + [feat/operator-restrictions] jobs: analyze: runs-on: ubuntu-latest From d717453e103e1a1f216ebb39db3b3dff78ea1d99 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:53:18 +0500 Subject: [PATCH 014/122] Update solhint.yml --- .github/workflows/solhint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/solhint.yml b/.github/workflows/solhint.yml index ddf8302..25faaca 100644 --- a/.github/workflows/solhint.yml +++ b/.github/workflows/solhint.yml @@ -3,7 +3,7 @@ name: Solhint Linter on: push: branches: - - '**' # This wildcard ensures that all branches are in scope + [feat/operator-restrictions] # This wildcard ensures that all branches are in scope jobs: lint: From 93336cc06d68b00d21c4add6b8ee5f65bf4d14f2 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Wed, 18 Oct 2023 17:53:48 +0500 Subject: [PATCH 015/122] Update foundry-test.yml --- .github/workflows/foundry-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/foundry-test.yml b/.github/workflows/foundry-test.yml index 3cae7b1..2d04bd1 100644 --- a/.github/workflows/foundry-test.yml +++ b/.github/workflows/foundry-test.yml @@ -3,7 +3,7 @@ name: Run Foundry Tests on: push: branches: - - '**' # This wildcard ensures that all branches are in scope + [feat/operator-restrictions] # This wildcard ensures that all branches are in scope jobs: check: From 56c276bb49c40663b539dcbec37eb7c81cec5758 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:48:41 +0500 Subject: [PATCH 016/122] Update slither.yml From 36992882a26d482200f53a5399c5dd986c307637 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:50:15 +0500 Subject: [PATCH 017/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 75a28ab..e9b8a84 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysiss on: push: branches: - [feat/operator-restrictions] + [Main] jobs: analyze: runs-on: ubuntu-latest From 019b3198591d6be7a0d9072a7ca723142493682d Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:51:11 +0500 Subject: [PATCH 018/122] Update slither.yml --- .github/workflows/slither.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index e9b8a84..fb8dd9b 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -9,5 +9,4 @@ jobs: steps: - uses: actions/checkout@v3 - uses: crytic/slither-action@v0.3.0 - with: - target: 'src/' + From da3e81a3f2bfd5226f3db5702279b8d8ccf42251 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:51:51 +0500 Subject: [PATCH 019/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index fb8dd9b..4177b60 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysiss on: push: branches: - [Main] + [development] jobs: analyze: runs-on: ubuntu-latest From 8ddb6cb453c9c152a071c7342e3b7213e6fdefb5 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:55:51 +0500 Subject: [PATCH 020/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 4177b60..6880866 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysiss on: push: branches: - [development] + [feat/operator-restrictions] jobs: analyze: runs-on: ubuntu-latest From 8528bf75d0214ebed8fb43b5cb98ade650bdfe8d Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:58:22 +0500 Subject: [PATCH 021/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 6880866..59dded9 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,7 @@ name: Slither Analysiss on: push: branches: - [feat/operator-restrictions] + - 'feat/operator-restrictions' jobs: analyze: runs-on: ubuntu-latest From 9544af466a4da4764c3634ae8b400c1971282133 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 23 Oct 2023 23:52:03 +0500 Subject: [PATCH 022/122] Update slither.yml --- .github/workflows/slither.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 59dded9..382e14c 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -2,7 +2,9 @@ name: Slither Analysiss on: push: branches: - - 'feat/operator-restrictions' + - '*' # matches every branch that doesn't contain a '/' + - '*/*' # matches every branch containing a single '/' + - '**' jobs: analyze: runs-on: ubuntu-latest From 20a82a01af504e37575da073ca0f42c38bd29d68 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 23 Oct 2023 23:55:27 +0500 Subject: [PATCH 023/122] Update slither.yml --- .github/workflows/slither.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 382e14c..9ca9a5c 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -1,10 +1,5 @@ name: Slither Analysiss -on: - push: - branches: - - '*' # matches every branch that doesn't contain a '/' - - '*/*' # matches every branch containing a single '/' - - '**' +on: [push, pull_request] jobs: analyze: runs-on: ubuntu-latest From 0199209dd73b18d01163a124c96fa0fcdb5b7d2b Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Wed, 25 Oct 2023 19:57:45 +0500 Subject: [PATCH 024/122] Create slither-output.txt --- slither-output.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/slither-output.txt @@ -0,0 +1 @@ + From 3ee2f0c9954d0b68005ebdf59e7a795e5897570d Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Thu, 26 Oct 2023 13:13:09 +0500 Subject: [PATCH 025/122] Update slither.yml --- .github/workflows/slither.yml | 40 +++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 9ca9a5c..1d2a8c2 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -1,9 +1,41 @@ -name: Slither Analysiss +name: Slither Analysis + on: [push, pull_request] + jobs: analyze: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: crytic/slither-action@v0.3.0 - + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Run Slither + uses: crytic/slither-action@v0.3.0 + id: slither + with: + target: 'src' + node-version: 16 + fail-on: none + slither-args: --checklist --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ + + - name: Save Slither output to file + run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + + - name: Configure Git + run: | + git config user.name "GitHub Actions Bot" + git config user.email "actions@github.com" + + - name: Commit and push changes + run: | + git add slither-output.txt + git commit -m "Update Slither analysis output" + git push + + # Upload Slither Report as an Artifact + - name: Upload Slither Report + if: always() # Ensure the artifact is uploaded even if previous steps fail + uses: actions/upload-artifact@v3 + with: + name: slither-report + path: slither-output.txt From a1d0e5a13864d6d9988d121f30d538182047e951 Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Thu, 26 Oct 2023 08:14:09 +0000 Subject: [PATCH 026/122] Update Slither analysis output --- slither-output.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/slither-output.txt b/slither-output.txt index 8b13789..404e8aa 100644 --- a/slither-output.txt +++ b/slither-output.txt @@ -1 +1,2 @@ +Summary From 968bac4de7a0089f7d6a0b58a98f325000917f81 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 16:44:05 +0500 Subject: [PATCH 027/122] tests + Index out of bounds fix --- src/AdvancedOrderEngine.sol | 4 +- test/AdvancedOrderEngine.t.sol | 112 +++++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 test/AdvancedOrderEngine.t.sol diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index fe1c886..a20a22b 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -181,11 +181,11 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { isWhitelistedToken[tokens[i]] = access[i]; + emit WhitelistStatusUpdated(address(tokens[i]), access[i]); + unchecked { ++i; } - - emit WhitelistStatusUpdated(address(tokens[i]), access[i]); } } diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol new file mode 100644 index 0000000..95c6328 --- /dev/null +++ b/test/AdvancedOrderEngine.t.sol @@ -0,0 +1,112 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.21; + +import "forge-std/Test.sol"; +import "./../src/Predicates.sol"; +import "./../src/interfaces/IPredicates.sol"; +import "./../src/AdvancedOrderEngine.sol"; +import "./../src/AdvancedOrderEngineErrors.sol"; +import "openzeppelin/token/ERC20/IERC20.sol"; + +contract AdvancedOrderEngineTest is Test { + Predicates predicates; + AdvancedOrderEngine advancedOrderEngine; + address zeroAddress = address(0); + address feeCollector = address(1); + address operator = address(2); + address admin = address(3); + + function setUp() public { + vm.startPrank(admin); + + predicates = new Predicates(); + advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); + + advancedOrderEngine.manageOperatorPrivilege(operator, true); + + vm.stopPrank(); + } + + function testOperatorPriviledge() public { + vm.startPrank(admin); + + address testOperator = address(99); + + assertEq(advancedOrderEngine.isOperator(testOperator), false); + + advancedOrderEngine.manageOperatorPrivilege(testOperator, true); + assertEq(advancedOrderEngine.isOperator(testOperator), true); + + vm.expectRevert(AccessStatusUnchanged.selector); + advancedOrderEngine.manageOperatorPrivilege(testOperator, true); + + advancedOrderEngine.manageOperatorPrivilege(testOperator, false); + assertEq(advancedOrderEngine.isOperator(testOperator), false); + + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); + + vm.stopPrank(); + + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); + } + + function testUpdateTokenWhitelist() public { + vm.startPrank(admin); + + IERC20[] memory tokens = new IERC20[](2); + bool[] memory access = new bool[](2); + + tokens[0] = IERC20(address(1)); // Assuming these addresses are valid ERC20 tokens + tokens[1] = IERC20(address(2)); + + // Initial status should be not whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); + + // Whitelisting tokens + access[0] = true; + access[1] = true; + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Verify the tokens are now whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), true); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), true); + + // Test for AccessStatusUnchanged revert + vm.expectRevert(AccessStatusUnchanged.selector); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Remove from whitelist + access[0] = false; + access[1] = false; + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Verify the tokens are no longer whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); + + // Test for ZeroAddress revert + tokens[0] = IERC20(address(0)); // Zero address token + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Test for ArraysLengthMismatch revert + IERC20[] memory mismatchedTokens = new IERC20[](1); + bool[] memory mismatchedAccess = new bool[](2); + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.updateTokenWhitelist(mismatchedTokens, mismatchedAccess); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + } + + + function testFillOrders() public { + + } + +} \ No newline at end of file From b95ced49f953bf20543515ff65cf6c6173aad16b Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 16:48:05 +0500 Subject: [PATCH 028/122] predicate address and fee collector tests --- test/AdvancedOrderEngine.t.sol | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 95c6328..8b5d445 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -104,6 +104,54 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.updateTokenWhitelist(tokens, access); } + function testChangePredicateAddress() public { + vm.startPrank(admin); + + IPredicates newPredicatesAddr = IPredicates(address(3)); // Assuming this is a valid address + + // Change to a new address + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + assertEq(address(advancedOrderEngine.predicates()), address(newPredicatesAddr)); + + // Test for ZeroAddress revert + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.changePredicateAddress(IPredicates(address(0))); + + // Test for SamePredicateAddress revert + vm.expectRevert(SamePredicateAddress.selector); + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + } + + function testChangeFeeCollectorAddress() public { + vm.startPrank(admin); + + address newFeeCollectorAddr = address(4); // Assuming this is a valid address + + // Change to a new fee collector address + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + assertEq(advancedOrderEngine.feeCollector(), newFeeCollectorAddr); + + // Test for ZeroAddress revert + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.changeFeeCollectorAddress(address(0)); + + // Test for SameFeeCollectorAddress revert + vm.expectRevert(SameFeeCollectorAddress.selector); + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + } + + + function testFillOrders() public { From 26bd2598a66c328c3eb897a74b51ea036178058e Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 19:38:18 +0500 Subject: [PATCH 029/122] fill order happypath --- test/AdvancedOrderEngine.t.sol | 122 +++++++++++++++++++++++++++++++-- 1 file changed, 118 insertions(+), 4 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 8b5d445..f65777a 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -6,15 +6,21 @@ import "./../src/Predicates.sol"; import "./../src/interfaces/IPredicates.sol"; import "./../src/AdvancedOrderEngine.sol"; import "./../src/AdvancedOrderEngineErrors.sol"; +import "./../src/libraries/OrderEngine.sol"; import "openzeppelin/token/ERC20/IERC20.sol"; +import "openzeppelin/utils/cryptography/ECDSA.sol"; contract AdvancedOrderEngineTest is Test { Predicates predicates; AdvancedOrderEngine advancedOrderEngine; address zeroAddress = address(0); address feeCollector = address(1); - address operator = address(2); address admin = address(3); + uint256 makerPrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract + address maker = vm.addr(makerPrivateKey); + uint256 operatorPrivateKey = 0xB0B; //also owner of contract + address operator = vm.addr(makerPrivateKey); + function setUp() public { vm.startPrank(admin); @@ -24,6 +30,21 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.manageOperatorPrivilege(operator, true); + IERC20[] memory tokens = new IERC20[](2); + bool[] memory access = new bool[](2); + + tokens[0] = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); // Assuming these addresses are valid ERC20 tokens + tokens[1] = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); + + // Whitelisting tokens + access[0] = true; + access[1] = true; + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + vm.deal(maker, 20 ether); + vm.deal(operator, 20 ether); + vm.deal(admin, 20 ether); + vm.stopPrank(); } @@ -150,11 +171,104 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); } - + function testFillOrders() public { + bytes memory facilitatorInteraction = '0x'; + console2.log(facilitatorInteraction.length); + OrderEngine.Order memory buyOrder = getDummyBuyOrder(); + OrderEngine.Order memory sellOrder = getDummySellOrder(); - function testFillOrders() public { + vm.startPrank(operator); + + OrderEngine.Order[] memory orders = new OrderEngine.Order[](2); + + orders[0] = sellOrder; + orders[1] = buyOrder; + + uint256[] memory sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + uint256[] memory buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + bytes[] memory sigs = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(makerPrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(makerPrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + sigs[0] = sellOrderSignature; + sigs[1] = buyOrderSignature; + + uint256[] memory emptyArray2 = new uint256[](0); + IERC20[] memory emptyArray1 = new IERC20[](0); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + vm.stopPrank(); + } + + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 123, // Replace with the desired nonce value + block.timestamp + 3600, // Replace with the desired validTill timestamp + 2000000, // 2 USDC + 1000000000000000000, // 1 MATIC + 0, // No fee + maker, // Maker's Ethereum address + operator, // Taker's Ethereum address (or null for public order) + 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address + IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4), // USDC token address + IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c), // MATIC token address + true, // Replace with true or false depending on whether the order is partially fillable + "0x", // Replace with any extra data as a hexadecimal string + "0x6f720000", // Replace with predicate calldata as a hexadecimal string + "0x", // Replace with pre-interaction data as a hexadecimal string + "0x" // Replace with post-interaction data as a hexadecimal string + ); + } + + function getDummySellOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 123, // Replace with the desired nonce value + 1637020800, // Replace with the desired validTill timestamp + 2000000, // 2 USDC + 1000000000000000000, // 1 MATIC + 0, // No fee + maker, // Maker's Ethereum address + operator, // Taker's Ethereum address (or null for public order) + 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address + IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4), // USDC token address + IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c), // MATIC token address + true, // Replace with true or false depending on whether the order is partially fillable + "0x", // Replace with any extra data as a hexadecimal string + "0x6f720000", // Replace with predicate calldata as a hexadecimal string + "0x", // Replace with pre-interaction data as a hexadecimal string + "0x" // Replace with post-interaction data as a hexadecimal string + ); + } + + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { + return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } -} \ No newline at end of file +} + +/** Predicates selectors + * and = 0x616e6400 + * or = 0x6f720000 + */ \ No newline at end of file From 3a3af8b6ec3f128af59aca478d0408e555769998 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:14:27 +0500 Subject: [PATCH 030/122] manual pull --- src/Helper/GenerateCalldata.sol | 340 +++++++++++++++++++++++++++ src/Helper/TargetContract.sol | 34 +++ src/Helper/VerifyPredicatesLogic.sol | 30 +++ test/.DS_Store | Bin 0 -> 6148 bytes test/unit/.DS_Store | Bin 0 -> 6148 bytes test/unit/fuzz/PredicatesLogic.t.sol | 127 ++++++++++ 6 files changed, 531 insertions(+) create mode 100644 src/Helper/GenerateCalldata.sol create mode 100644 src/Helper/TargetContract.sol create mode 100644 src/Helper/VerifyPredicatesLogic.sol create mode 100644 test/.DS_Store create mode 100644 test/unit/.DS_Store create mode 100644 test/unit/fuzz/PredicatesLogic.t.sol diff --git a/src/Helper/GenerateCalldata.sol b/src/Helper/GenerateCalldata.sol new file mode 100644 index 0000000..a79a2ed --- /dev/null +++ b/src/Helper/GenerateCalldata.sol @@ -0,0 +1,340 @@ +// SPDX-License-Identifier: MIT + + +import "forge-std/Test.sol"; +import "forge-std/console.sol"; + +pragma solidity 0.8.21; + +contract GenerateCalldata { + address targetContract; + + constructor(address _targetContract) { + targetContract = _targetContract; + } + +function generateCalldata1() public view returns (bytes memory) { + // English: Only allow order execution if the return value from an arbitrary call is less than 15. + // Predicate: lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyFn3()" + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + 15, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + return ltFnCalldata; + } + +function generateCalldata2() public view returns (bytes memory) { + // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. + // First, check if it's less than 15. If it isn't, then check if it's greater than 5. Allow order execution if either condition is true; disallow otherwise. + // Predicate: or(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(5, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) + // Note: It has 2 predicates, predicate#1 is 'lt' and predicate#2 is 'gt' + + // Step 1: Generate calldata to send to our target contract (for LT) + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyFn()" + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata (for LT) + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + // 7 < 15 + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + 15, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + console.log("LT Calldata length ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSignature("dummyFn2()"); // 'callDataToSendToTargetAddress' + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + 19, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(520), uint32(260)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "and(uint256,bytes)", + offset, + jointPredicates + ); + return orFnCalldata; + } + + +function generateCalldataAnd_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { + // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. + // First, check if it's less than 15. If it isn't, then check if it's greater than 10. Allow order execution if either condition is true; disallow otherwise. + // Predicate: and(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(10, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) + // Note: It has 2 predicates, predicate#1 is 'lt' and predicate#2 is 'gt' + + // Step 1: Generate calldata to send to our target contract (for LT) + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyFn(uint256)", + target_value_1 + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata (for LT) + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + // 10 < 15 + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + value_1, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + console.log("LT Calldata length ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSignature( + "dummyFn(uint256)", + target_value_2 + ); // 'callDataToSendToTargetAddress' + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 15 > 10 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + value_2, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength+gtCalldataLength), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "and(uint256,bytes)", + offset, + jointPredicates + ); + return orFnCalldata; + } + + function generateCalldataOr_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { + // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. + // First, check if it's less than 15. If it isn't, then check if it's greater than 10. Allow order execution if either condition is true; disallow otherwise. + // Predicate: and(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(10, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) + // Note: It has 2 predicates, predicate#1 is 'lt' and predicate#2 is 'gt' + + // Step 1: Generate calldata to send to our target contract (for LT) + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyFn(uint256)", + target_value_1 + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata (for LT) + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + // 10 < 15 + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + value_1, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + console.log("LT Calldata length ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSignature( + "dummyFn(uint256)", + target_value_2 + ); // 'callDataToSendToTargetAddress' + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 15 > 10 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + value_2, + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength+gtCalldataLength), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "or(uint256,bytes)", + offset, + jointPredicates + ); + return orFnCalldata; +} + +function generateCalldataNot() public view returns (bytes memory) { + + + + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyBool()" + ); // 'callDataToSendToTargetAddress' + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + bytes memory notFnCalldata = abi.encodeWithSignature( + "not(bytes)", + arbitraryStaticCalldata + ); + return notFnCalldata; + } + + + + +function generateCalldatadynamic(string memory operation, uint256 x,uint256 y) public view returns (bytes memory) { + // English: Only allow order execution if the return value from an arbitrary call is less than 15. + // Predicate: lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + + bytes memory targetContractCalldata = abi.encodeWithSignature( + "dummyFn(uint256)", + y + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + targetContract, + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + + if (keccak256(bytes(operation)) == keccak256("lt")) { + return abi.encodeWithSignature("lt(uint256,bytes)", x, arbitraryStaticCalldata); + } else if (keccak256(bytes(operation)) == keccak256("gt")) { + return abi.encodeWithSignature("gt(uint256,bytes)", x, arbitraryStaticCalldata); + } else if (keccak256(bytes(operation)) == keccak256("eq")) { + return abi.encodeWithSignature("eq(uint256,bytes)", x, arbitraryStaticCalldata); + } else { + revert("Unsupported operation"); + } +} +} diff --git a/src/Helper/TargetContract.sol b/src/Helper/TargetContract.sol new file mode 100644 index 0000000..efd93bd --- /dev/null +++ b/src/Helper/TargetContract.sol @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +import "forge-std/console.sol"; +import "forge-std/Test.sol"; +import "forge-std/StdCheats.sol"; +import "forge-std/Vm.sol"; + + +contract TargetContract { + + function dummyFn(uint256 x) public pure returns (uint256) { + return x; + } + + function dummyFn1() public pure returns (uint256) { + return 7; + } + + function dummyFn2() public pure returns (uint256) { + return 18; + } + + function dummyFn3() public pure returns (uint256) { + return 7; + } + + function dummyBool() public pure returns (bool){ + return false; + } + + +} diff --git a/src/Helper/VerifyPredicatesLogic.sol b/src/Helper/VerifyPredicatesLogic.sol new file mode 100644 index 0000000..ee8fb0f --- /dev/null +++ b/src/Helper/VerifyPredicatesLogic.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +import {IPredicates} from ".././interfaces/IPredicates.sol"; +import "forge-std/console.sol"; + +contract VerifyPredicatesLogic { + error PredicateIsNotTrue(); + + address public predicateContract; + + constructor(address _predicateContract) { + predicateContract = _predicateContract; + } + + function checkPredicate( + bytes calldata predicate + ) public view returns (bool) { + (bool success, uint256 res) = IPredicates(predicateContract) + .staticcallForUint(predicateContract, predicate); + return success && res == 1; + } + + function verify(bytes calldata predicates) external view { + if (predicates.length > 0) { + if (!checkPredicate(predicates)) revert PredicateIsNotTrue(); + } + } +} diff --git a/test/.DS_Store b/test/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9a59c1112db4f77814cd76e51f9fd086afde6577 GIT binary patch literal 6148 zcmeH~F^#D|B88S?>8-0+3(%j0}K-S1Z~(iR=?ls;mzpWA{IkOERb3P=Gd zFe3%>7+FOW6aI$5DvP7ju? z7GsFlqn#{yT}`&m-VV#*!}8ANQw+^|JFGCFSq&&i0Vyz1VA=E0&;JAczxjXCqEre< zfj3jYhW+P$$Ct{p_0Q{h{g_o>H#!-YGyM7qVB$ydh91WK;tR4STPG_t{Ro5%3R2*u G3j6@ZOA^HZ literal 0 HcmV?d00001 diff --git a/test/unit/.DS_Store b/test/unit/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c4e723d77c492a755e272d4ebf3bda27b30d0e5b GIT binary patch literal 6148 zcmeH~F^dX2yKL8FxJJm~KCp@9XvAMcS$Zp3+Cm_H$d10#ZNoHf}Tl_A_b(tG8FLdL!mosvUSF%gCRx$a$q@(>zF0T;svrMTPG_t%jv 0 && target_value > 0); + // bound() + bytes memory predicate = generateCalldata.generateCalldatadynamic("lt",value,target_value); + + // target_value < value + if (value > target_value) { + // Expect verify to return true if "value" is greater than "target_value" + verifyPredicate.verify(predicate); + } else { + // Expect verify to return false if "value" is not less than "target_value" + vm.expectRevert(); + verifyPredicate.verify(predicate); + } + } + + function test_gt(uint256 value,uint256 target_value) public { + + vm.assume(value > 0 && target_value > 0); + + bytes memory predicate = generateCalldata.generateCalldatadynamic("gt",value,target_value); + + if (value < target_value) { + // Expect verify to return true if target_value is greater than value + verifyPredicate.verify(predicate); + + } else { + // Expect verify to return false if value is not greater than target_value + vm.expectRevert(); + verifyPredicate.verify(predicate); + + } + } + + function test_eq(uint256 value,uint256 target_value) public { + + vm.assume(value > 0 && target_value > 0); + + bytes memory predicate = generateCalldata.generateCalldatadynamic("eq",value,target_value); + + if (value == target_value) { + // Expect verify to return true if target_value is greater than value + verifyPredicate.verify(predicate); + + } else { + // Expect verify to return false if value is not greater than target_value + vm.expectRevert(); + verifyPredicate.verify(predicate); + + } + } + + function test_and_lt_gt(uint256 value_1,uint256 target_value_1,uint256 value_2,uint256 target_value_2) public{ + + bytes memory predicate = generateCalldata.generateCalldataAnd_lt_gt(value_1, target_value_1, value_2, target_value_2); + + if ((target_value_1 < value_1) && (target_value_2 > value_2)){ + verifyPredicate.verify(predicate); + } + + else{ + vm.expectRevert(); + verifyPredicate.verify(predicate); + } + } + + function test_or_lt_gt(uint256 value_1,uint256 target_value_1,uint256 value_2,uint256 target_value_2) public{ + + bytes memory predicate = generateCalldata.generateCalldataOr_lt_gt(value_1, target_value_1, value_2, target_value_2); + + if ((target_value_1 < value_1) || (target_value_2 > value_2)){ + verifyPredicate.verify(predicate); + } + + else{ + vm.expectRevert(); + verifyPredicate.verify(predicate); + } + } + + function test_not() view public { + + bytes memory predicate = generateCalldata.generateCalldataNot(); + + verifyPredicate.verify(predicate); + + } + + + } + + From 591120a6c6a61f38d92b5468592cfcd43cd2e405 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:15:36 +0500 Subject: [PATCH 031/122] interfaces --- test/interfaces/swaprouter.sol | 65 ++++++++++++++++++++++++++++++++++ test/interfaces/weth9.sol | 8 +++++ 2 files changed, 73 insertions(+) create mode 100644 test/interfaces/swaprouter.sol create mode 100644 test/interfaces/weth9.sol diff --git a/test/interfaces/swaprouter.sol b/test/interfaces/swaprouter.sol new file mode 100644 index 0000000..8c296aa --- /dev/null +++ b/test/interfaces/swaprouter.sol @@ -0,0 +1,65 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +interface ISwapRouter02 { + struct ExactInputSingleParams { + address tokenIn; + address tokenOut; + uint24 fee; + address recipient; + uint256 amountIn; + uint256 amountOutMinimum; + uint160 sqrtPriceLimitX96; + } + + /// @notice Swaps `amountIn` of one token for as much as possible of another token + /// @dev Setting `amountIn` to 0 will cause the contract to look up its own balance, + /// and swap the entire amount, enabling contracts to send tokens before calling this function. + /// @param params The parameters necessary for the swap, encoded as `ExactInputSingleParams` in calldata + /// @return amountOut The amount of the received token + function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut); + + struct ExactInputParams { + bytes path; + address recipient; + uint256 amountIn; + uint256 amountOutMinimum; + } + + /// @notice Swaps `amountIn` of one token for as much as possible of another along the specified path + /// @dev Setting `amountIn` to 0 will cause the contract to look up its own balance, + /// and swap the entire amount, enabling contracts to send tokens before calling this function. + /// @param params The parameters necessary for the multi-hop swap, encoded as `ExactInputParams` in calldata + /// @return amountOut The amount of the received token + function exactInput(ExactInputParams calldata params) external payable returns (uint256 amountOut); + + struct ExactOutputSingleParams { + address tokenIn; + address tokenOut; + uint24 fee; + address recipient; + uint256 amountOut; + uint256 amountInMaximum; + uint160 sqrtPriceLimitX96; + } + + /// @notice Swaps as little as possible of one token for `amountOut` of another token + /// that may remain in the router after the swap. + /// @param params The parameters necessary for the swap, encoded as `ExactOutputSingleParams` in calldata + /// @return amountIn The amount of the input token + function exactOutputSingle(ExactOutputSingleParams calldata params) external payable returns (uint256 amountIn); + + struct ExactOutputParams { + bytes path; + address recipient; + uint256 amountOut; + uint256 amountInMaximum; + } + + /// @notice Swaps as little as possible of one token for `amountOut` of another along the specified path (reversed) + /// that may remain in the router after the swap. + /// @param params The parameters necessary for the multi-hop swap, encoded as `ExactOutputParams` in calldata + /// @return amountIn The amount of the input token + function exactOutput(ExactOutputParams calldata params) external payable returns (uint256 amountIn); +} \ No newline at end of file diff --git a/test/interfaces/weth9.sol b/test/interfaces/weth9.sol new file mode 100644 index 0000000..05fb329 --- /dev/null +++ b/test/interfaces/weth9.sol @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +interface IWETH9 { + function deposit() external payable; + function withdraw(uint wad) external; +} \ No newline at end of file From a7d62041e32ddbe8abcee6d90985a0857920ecff Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:17:12 +0500 Subject: [PATCH 032/122] setup + input fix --- test/AdvancedOrderEngine.t.sol | 77 +++++++++++++++++++++++++++------- 1 file changed, 62 insertions(+), 15 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index f65777a..17a80cc 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -7,14 +7,22 @@ import "./../src/interfaces/IPredicates.sol"; import "./../src/AdvancedOrderEngine.sol"; import "./../src/AdvancedOrderEngineErrors.sol"; import "./../src/libraries/OrderEngine.sol"; +import "./../src/Helper/GenerateCalldata.sol"; +import "./interfaces/swaprouter.sol"; +import "./interfaces/weth9.sol"; import "openzeppelin/token/ERC20/IERC20.sol"; import "openzeppelin/utils/cryptography/ECDSA.sol"; contract AdvancedOrderEngineTest is Test { Predicates predicates; AdvancedOrderEngine advancedOrderEngine; + GenerateCalldata generateCalldata; + IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); + IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); + IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); address zeroAddress = address(0); - address feeCollector = address(1); + address feeCollector = address(147578); address admin = address(3); uint256 makerPrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract address maker = vm.addr(makerPrivateKey); @@ -26,6 +34,7 @@ contract AdvancedOrderEngineTest is Test { vm.startPrank(admin); predicates = new Predicates(); + generateCalldata = new GenerateCalldata(address(predicates)); advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); advancedOrderEngine.manageOperatorPrivilege(operator, true); @@ -33,8 +42,8 @@ contract AdvancedOrderEngineTest is Test { IERC20[] memory tokens = new IERC20[](2); bool[] memory access = new bool[](2); - tokens[0] = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); // Assuming these addresses are valid ERC20 tokens - tokens[1] = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); + tokens[0] = usdc; // Assuming these addresses are valid ERC20 tokens + tokens[1] = weth; // Whitelisting tokens access[0] = true; @@ -44,6 +53,44 @@ contract AdvancedOrderEngineTest is Test { vm.deal(maker, 20 ether); vm.deal(operator, 20 ether); vm.deal(admin, 20 ether); + + vm.stopPrank(); + + vm.startPrank(maker); + + weth.approve(address(swapRouter02), UINT256_MAX); + weth.approve(address(advancedOrderEngine), UINT256_MAX); + usdc.approve(address(swapRouter02), UINT256_MAX); + usdc.approve(address(advancedOrderEngine), UINT256_MAX); + // weth.approve(address(swapRouter02), UINT256_MAX); + + // get usdc + swapRouter02.exactInputSingle{value: 1 ether}( + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(usdc), + 500, + maker, + 1 ether, + 0, + 0 + ) + ); + + IWETH9(address(weth)).deposit{value: 1 ether}(); + + // // get matic + // swapRouter02.exactInputSingle{value: 1 ether}( + // ISwapRouter02.ExactInputSingleParams ( + // address(weth), + // address(wmatic), + // 3000, + // maker, + // 1 ether, + // 0, + // 0 + // ) + // ); vm.stopPrank(); } @@ -226,17 +273,17 @@ contract AdvancedOrderEngineTest is Test { return OrderEngine.Order( 123, // Replace with the desired nonce value block.timestamp + 3600, // Replace with the desired validTill timestamp - 2000000, // 2 USDC - 1000000000000000000, // 1 MATIC + 4800000000000000, // 0.0048 weth + 10000000, // 10 USDC 0, // No fee maker, // Maker's Ethereum address operator, // Taker's Ethereum address (or null for public order) 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address - IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4), // USDC token address - IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c), // MATIC token address + weth, // MATIC token address + usdc, // USDC token address true, // Replace with true or false depending on whether the order is partially fillable "0x", // Replace with any extra data as a hexadecimal string - "0x6f720000", // Replace with predicate calldata as a hexadecimal string + "", // Replace with predicate calldata as a hexadecimal string "0x", // Replace with pre-interaction data as a hexadecimal string "0x" // Replace with post-interaction data as a hexadecimal string ); @@ -244,19 +291,19 @@ contract AdvancedOrderEngineTest is Test { function getDummySellOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( - 123, // Replace with the desired nonce value - 1637020800, // Replace with the desired validTill timestamp - 2000000, // 2 USDC - 1000000000000000000, // 1 MATIC + 124, // Replace with the desired nonce value + block.timestamp + 3600, // Replace with the desired validTill timestamp + 10000000, // 10 USDC + 4800000000000000, // 0.0048 weth 0, // No fee maker, // Maker's Ethereum address operator, // Taker's Ethereum address (or null for public order) 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address - IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4), // USDC token address - IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c), // MATIC token address + usdc, // USDC token address + weth, // MATIC token address true, // Replace with true or false depending on whether the order is partially fillable "0x", // Replace with any extra data as a hexadecimal string - "0x6f720000", // Replace with predicate calldata as a hexadecimal string + "", // Replace with predicate calldata as a hexadecimal string "0x", // Replace with pre-interaction data as a hexadecimal string "0x" // Replace with post-interaction data as a hexadecimal string ); From c80dda3960b2cbb353e9420530180710a4e70a78 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:17:50 +0500 Subject: [PATCH 033/122] order engine --- test/unit/fuzz/OrderEngine.t.sol | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 test/unit/fuzz/OrderEngine.t.sol diff --git a/test/unit/fuzz/OrderEngine.t.sol b/test/unit/fuzz/OrderEngine.t.sol new file mode 100644 index 0000000..ca96a54 --- /dev/null +++ b/test/unit/fuzz/OrderEngine.t.sol @@ -0,0 +1,49 @@ +// // SPDX-License-Identifier: MIT +// pragma solidity 0.8.21; + +// import "forge-std/Test.sol"; +// import "forge-std/console.sol"; +// import "../../../src/Helper/VerifyPredicatesLogic.sol"; +// import "../../../src/Predicates.sol"; +// import "../../../src/Helper/GenerateCalldata.sol"; +// import "../../../src/Helper/TargetContract.sol"; +// import "../../../src/AdvancedOrderEngine.sol"; + +// import {IPredicates} from "../../.././src/interfaces/IPredicates.sol"; + + +// contract AdvancedOrderEngineTest is Test { +// AdvancedOrderEngine public advancedOrderEngine; +// address owner; + +// function setUp() public { +// // Set up your test environment here +// // Example: Deploy the AdvancedOrderEngine contract +// owner = address(this); // assuming the test contract is the owner + +// predicateContract = new Predicates(); +// verifyPredicate = new VerifyPredicatesLogic(address(predicateContract)); + +// IPredicates predicates = new IPredicates(); // Deploy or mock the predicates contract +// address feeCollector = address(1); // Use a mock address for fee collector + +// advancedOrderEngine = new AdvancedOrderEngine(predicates, feeCollector); +// } + +// function testExampleFunctionality() public { +// // Example test function +// // Assuming you want to test the manageOperatorPrivilege function + +// address operatorAddress = address(2); // Use a mock address for operator +// bool access = true; + +// vm.prank(owner); // Impersonate the owner +// advancedOrderEngine.manageOperatorPrivilege(operatorAddress, access); + +// assertTrue(advancedOrderEngine.isOperator(operatorAddress)); +// } + +// // Add more test functions here to cover different aspects of your contract +// } + + From 0e09306a150ab3fe066f523e714ce1dda2245665 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:22:29 +0500 Subject: [PATCH 034/122] fee collector fix --- src/AdvancedOrderEngine.sol | 2 +- test/AdvancedOrderEngine.t.sol | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index a20a22b..c902730 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -92,7 +92,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { revert ZeroAddress(); } - feeCollectorAddr = feeCollectorAddr; + feeCollector = feeCollectorAddr; predicates = predicatesAddr; emit FeeCollectorChanged(address(0), feeCollectorAddr); diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 17a80cc..6d391ec 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -219,9 +219,6 @@ contract AdvancedOrderEngineTest is Test { } function testFillOrders() public { - bytes memory facilitatorInteraction = '0x'; - console2.log(facilitatorInteraction.length); - OrderEngine.Order memory buyOrder = getDummyBuyOrder(); OrderEngine.Order memory sellOrder = getDummySellOrder(); From d932765cb186f7a2487e39b0336e273f3518fbef Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 24 Nov 2023 23:56:12 +0500 Subject: [PATCH 035/122] state check --- test/AdvancedOrderEngine.t.sol | 67 +++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 29 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 6d391ec..2e88585 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -24,10 +24,12 @@ contract AdvancedOrderEngineTest is Test { address zeroAddress = address(0); address feeCollector = address(147578); address admin = address(3); - uint256 makerPrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract - address maker = vm.addr(makerPrivateKey); - uint256 operatorPrivateKey = 0xB0B; //also owner of contract - address operator = vm.addr(makerPrivateKey); + uint256 maker1PrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract + address maker1 = vm.addr(maker1PrivateKey); + uint256 maker2PrivateKey = 0xac0974bec39a17e36ba4a6b4d233ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract + address maker2 = vm.addr(maker2PrivateKey); + uint256 operatorPrivateKey = 0xB0B; + address operator = vm.addr(operatorPrivateKey); function setUp() public { @@ -50,19 +52,17 @@ contract AdvancedOrderEngineTest is Test { access[1] = true; advancedOrderEngine.updateTokenWhitelist(tokens, access); - vm.deal(maker, 20 ether); + vm.deal(maker1, 20 ether); + vm.deal(maker2, 20 ether); vm.deal(operator, 20 ether); vm.deal(admin, 20 ether); vm.stopPrank(); - vm.startPrank(maker); + vm.startPrank(maker2); - weth.approve(address(swapRouter02), UINT256_MAX); - weth.approve(address(advancedOrderEngine), UINT256_MAX); usdc.approve(address(swapRouter02), UINT256_MAX); usdc.approve(address(advancedOrderEngine), UINT256_MAX); - // weth.approve(address(swapRouter02), UINT256_MAX); // get usdc swapRouter02.exactInputSingle{value: 1 ether}( @@ -70,27 +70,22 @@ contract AdvancedOrderEngineTest is Test { address(weth), address(usdc), 500, - maker, + maker2, 1 ether, 0, 0 ) ); - IWETH9(address(weth)).deposit{value: 1 ether}(); + vm.stopPrank(); - // // get matic - // swapRouter02.exactInputSingle{value: 1 ether}( - // ISwapRouter02.ExactInputSingleParams ( - // address(weth), - // address(wmatic), - // 3000, - // maker, - // 1 ether, - // 0, - // 0 - // ) - // ); + vm.startPrank(maker1); + + weth.approve(address(swapRouter02), UINT256_MAX); + weth.approve(address(advancedOrderEngine), UINT256_MAX); + + // get weth + IWETH9(address(weth)).deposit{value: 1 ether}(); vm.stopPrank(); } @@ -221,6 +216,10 @@ contract AdvancedOrderEngineTest is Test { function testFillOrders() public { OrderEngine.Order memory buyOrder = getDummyBuyOrder(); OrderEngine.Order memory sellOrder = getDummySellOrder(); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); vm.startPrank(operator); @@ -241,10 +240,10 @@ contract AdvancedOrderEngineTest is Test { bytes[] memory sigs = new bytes[](2); - (uint8 v, bytes32 r, bytes32 s) = vm.sign(makerPrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - (v, r, s) = vm.sign(makerPrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); bytes memory buyOrderSignature = abi.encodePacked(r, s, v); sigs[0] = sellOrderSignature; @@ -264,6 +263,16 @@ contract AdvancedOrderEngineTest is Test { ); vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); + assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { @@ -273,9 +282,9 @@ contract AdvancedOrderEngineTest is Test { 4800000000000000, // 0.0048 weth 10000000, // 10 USDC 0, // No fee - maker, // Maker's Ethereum address + maker1, // Maker's Ethereum address operator, // Taker's Ethereum address (or null for public order) - 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address + maker1, // Recipient's Ethereum address weth, // MATIC token address usdc, // USDC token address true, // Replace with true or false depending on whether the order is partially fillable @@ -293,9 +302,9 @@ contract AdvancedOrderEngineTest is Test { 10000000, // 10 USDC 4800000000000000, // 0.0048 weth 0, // No fee - maker, // Maker's Ethereum address + maker2, // Maker's Ethereum address operator, // Taker's Ethereum address (or null for public order) - 0xFC9a3ebc5282613E9A4544A4D7FC0e02DD6f1A43, // Recipient's Ethereum address + maker2, // Recipient's Ethereum address usdc, // USDC token address weth, // MATIC token address true, // Replace with true or false depending on whether the order is partially fillable From 07b89e227e9b8fc9bf6938214bf054d7a0c2ef7c Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Sat, 25 Nov 2023 00:29:25 +0500 Subject: [PATCH 036/122] script --- README.md | 13 +- .../1891/run-1700853646.json | 120 ++++++ .../1891/run-1700853653.json | 393 ++++++++++++++++++ .../1891/run-latest.json | 393 ++++++++++++++++++ script/deployOrderEngine.s.sol | 54 +++ 5 files changed, 971 insertions(+), 2 deletions(-) create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-latest.json create mode 100644 script/deployOrderEngine.s.sol diff --git a/README.md b/README.md index 9fe85d4..315efb7 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,15 @@ To run code in this repository, follow these steps: ```bash forge build -5. **Run tests:** +5. **Run unit tests:** ```bash - forge test + source .env + forge test -vvv --rpc-url $MAINNET_RPC_URL --match-contract AdvancedOrderEngineTest + ``` + +6. **Run deploy and setup script** + ```bash + source .env + forge script script/deployOrderEngine.s.sol --rpc-url $PEGASUS_RPC_URL --legacy --broadcast + ``` + diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json b/broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json new file mode 100644 index 0000000..0b8acb5 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x3ac" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x3ad" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": null, + "arguments": [ + "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x30dda8", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3ae" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3af" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x5df43", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3b0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + ], + "pending": [ + "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba" + ], + "returns": {}, + "timestamp": 1700853646, + "chain": 1891, + "multi": false, + "commit": "d932765" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json b/broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json new file mode 100644 index 0000000..e583e31 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x3ac" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x3ad" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": null, + "arguments": [ + "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x30dda8", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3ae" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3af" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x5df43", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3b0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionIndex": "0x0", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "logs": [], + "status": "0x1", + "root": "0x881aae533aec2721ed48d4266dd7404db4a87ff21c9a37236082515cfc4b7992", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionIndex": "0x1", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "logs": [], + "status": "0x1", + "root": "0x0750f22966c16b7ca6e2e65ab1cbf517d61367f9ab43af2a361957a28ff38aa9", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x2599a2", + "gasUsed": "0x2599a2", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xa15f5bdedc8595e3f4a3be51e6bb64999c7eaccad068b28c0193c78167aff4fe", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800002080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionIndex": "0x0", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0x28e145ad14c9cb849d089432557a77085f0703c89e81318ef93beffab0513698", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "cumulativeGasUsed": "0x44056", + "gasUsed": "0x44056", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "root": "0x7391ba34e837e14dffd0f8a030dcdf9afce874edb6f519ba17cd82a463d936a3", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000080000c00004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + ], + "pending": [], + "returns": {}, + "timestamp": 1700853653, + "chain": 1891, + "multi": false, + "commit": "d932765" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json new file mode 100644 index 0000000..e583e31 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x3ac" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x3ad" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": null, + "arguments": [ + "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x30dda8", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3ae" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3af" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "gas": "0x5df43", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3b0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionIndex": "0x0", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "logs": [], + "status": "0x1", + "root": "0x881aae533aec2721ed48d4266dd7404db4a87ff21c9a37236082515cfc4b7992", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionIndex": "0x1", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "logs": [], + "status": "0x1", + "root": "0x0750f22966c16b7ca6e2e65ab1cbf517d61367f9ab43af2a361957a28ff38aa9", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x2599a2", + "gasUsed": "0x2599a2", + "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", + "blockNumber": "0x3415b3f", + "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xa15f5bdedc8595e3f4a3be51e6bb64999c7eaccad068b28c0193c78167aff4fe", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800002080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionIndex": "0x0", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0x28e145ad14c9cb849d089432557a77085f0703c89e81318ef93beffab0513698", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "cumulativeGasUsed": "0x44056", + "gasUsed": "0x44056", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", + "blockNumber": "0x3415b40", + "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "transactionIndex": "0x1", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "root": "0x7391ba34e837e14dffd0f8a030dcdf9afce874edb6f519ba17cd82a463d936a3", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000080000c00004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + ], + "pending": [], + "returns": {}, + "timestamp": 1700853653, + "chain": 1891, + "multi": false, + "commit": "d932765" +} \ No newline at end of file diff --git a/script/deployOrderEngine.s.sol b/script/deployOrderEngine.s.sol new file mode 100644 index 0000000..691916e --- /dev/null +++ b/script/deployOrderEngine.s.sol @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/AdvancedOrderEngine.sol"; +import "../src/Predicates.sol"; + +contract MigratorScript is Script { + function run() external { + AdvancedOrderEngine advancedOrderEngine; + Predicates predicates; + + uint256 ownerPrivateKey = vm.envUint("PRIVATE_KEY"); + address owner = vm.addr(ownerPrivateKey); + + vm.startBroadcast(ownerPrivateKey); + + predicates = new Predicates(); + advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), owner); + + advancedOrderEngine.manageOperatorPrivilege(owner, true); + + IERC20[] memory tokens = new IERC20[](10); + bool[] memory access = new bool[](10); + + tokens[0] = IERC20(0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9); // usdt + tokens[1] = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); // usdc + tokens[2] = IERC20(0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66); // dai + tokens[3] = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); // wbtc + tokens[4] = IERC20(0x124ABC63F20c6e2088078bd61e2Db100Ff30836e); // arb + tokens[5] = IERC20(0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9); // op + tokens[6] = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); // matic + tokens[7] = IERC20(0x8488c316e23504B8554e4BdE9651802CD45aea24); // uni + tokens[8] = IERC20(0xeDc98fc6240671dF8e7eD035CE39143320c1A174); // link + tokens[9] = IERC20(0xeEf8e3c318fb3d86489FB258847d028adC629e14); // kub + + // Whitelisting tokens + access[0] = true; + access[1] = true; + access[2] = true; + access[3] = true; + access[4] = true; + access[5] = true; + access[6] = true; + access[7] = true; + access[8] = true; + access[9] = true; + + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + vm.stopBroadcast(); + + } +} \ No newline at end of file From d6924e9fb5e020a0d42cea0009e85fb268285084 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Sat, 25 Nov 2023 21:07:19 +0500 Subject: [PATCH 037/122] live contract test --- test/LiveAdvancedOrderEngine.t.sol | 405 +++++++++++++++++++++++++++++ 1 file changed, 405 insertions(+) create mode 100644 test/LiveAdvancedOrderEngine.t.sol diff --git a/test/LiveAdvancedOrderEngine.t.sol b/test/LiveAdvancedOrderEngine.t.sol new file mode 100644 index 0000000..97a4c8d --- /dev/null +++ b/test/LiveAdvancedOrderEngine.t.sol @@ -0,0 +1,405 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.21; + +import "forge-std/Test.sol"; +import "./../src/Predicates.sol"; +import "./../src/interfaces/IPredicates.sol"; +import "./../src/AdvancedOrderEngine.sol"; +import "./../src/AdvancedOrderEngineErrors.sol"; +import "./../src/libraries/OrderEngine.sol"; +import "./../src/Helper/GenerateCalldata.sol"; +import "./interfaces/swaprouter.sol"; +import "./interfaces/weth9.sol"; +import "openzeppelin/token/ERC20/IERC20.sol"; +import "openzeppelin/utils/cryptography/ECDSA.sol"; + +contract LiveAdvancedOrderEngineTest is Test { + Predicates predicates = Predicates(0xF290FF9ED61cB43F96D3F374474f05810d505430); + AdvancedOrderEngine advancedOrderEngine = AdvancedOrderEngine(0xDaC771732B2211e2d2c691DC95f9Cf75A61a5974); + GenerateCalldata generateCalldata; + // IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + IERC20 usdt = IERC20(0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9); + IERC20 usdc = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); + IERC20 wmatic = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); + IERC20 dai = IERC20(0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66); + IERC20 wbtc = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); + IERC20 arb = IERC20(0x124ABC63F20c6e2088078bd61e2Db100Ff30836e); + IERC20 op = IERC20(0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9); + IERC20 uni = IERC20(0x8488c316e23504B8554e4BdE9651802CD45aea24); + IERC20 link = IERC20(0xeDc98fc6240671dF8e7eD035CE39143320c1A174); + IERC20 kub = IERC20(0xeEf8e3c318fb3d86489FB258847d028adC629e14); + ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); + address zeroAddress = address(0); + uint256 ownerPrivateKey = vm.envUint("PRIVATE_KEY"); + address owner = vm.addr(ownerPrivateKey); + address feeCollector = owner; + address admin = owner; + uint256 maker1PrivateKey = 0x05330e3506561033ca68a39c73cf8b4ce3c929e2773800c80c2da83a781aaa4c ; //also owner of contract + address maker1 = vm.addr(maker1PrivateKey); + uint256 maker2PrivateKey = 0x66a23653c7a7f9c068cd2f1155fd7b02e637e58f9d350890eb7864d1f4c43687; //also owner of contract + address maker2 = vm.addr(maker2PrivateKey); + uint256 operatorPrivateKey = 0xB0B; + address operator = owner; + + + function setUp() public { + vm.startPrank(admin); + + // predicates = new Predicates(); + generateCalldata = new GenerateCalldata(address(predicates)); + // advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); + + // advancedOrderEngine.manageOperatorPrivilege(operator, true); + + // IERC20[] memory tokens = new IERC20[](2); + // bool[] memory access = new bool[](2); + + // tokens[0] = usdc; // Assuming these addresses are valid ERC20 tokens + // tokens[1] = weth; + + // // Whitelisting tokens + // access[0] = true; + // access[1] = true; + // advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // vm.deal(maker1, 20 ether); + // vm.deal(maker2, 20 ether); + // vm.deal(operator, 20 ether); + // vm.deal(admin, 20 ether); + + vm.stopPrank(); + + vm.startPrank(maker1); + + // usdc.approve(address(swapRouter02), UINT256_MAX); + usdc.approve(address(advancedOrderEngine), UINT256_MAX); + + // // get usdc + // swapRouter02.exactInputSingle{value: 1 ether}( + // ISwapRouter02.ExactInputSingleParams ( + // address(weth), + // address(usdc), + // 500, + // maker1, + // 1 ether, + // 0, + // 0 + // ) + // ); + + vm.stopPrank(); + + vm.startPrank(maker2); + + // wmatic.approve(address(swapRouter02), UINT256_MAX); + wmatic.approve(address(advancedOrderEngine), UINT256_MAX); + + // // get weth + // IWETH9(address(weth)).deposit{value: 1 ether}(); + + vm.stopPrank(); + } + + function testOperatorPriviledge() public { + vm.startPrank(admin); + + address testOperator = address(99); + + assertEq(advancedOrderEngine.isOperator(testOperator), false); + + advancedOrderEngine.manageOperatorPrivilege(testOperator, true); + assertEq(advancedOrderEngine.isOperator(testOperator), true); + + vm.expectRevert(AccessStatusUnchanged.selector); + advancedOrderEngine.manageOperatorPrivilege(testOperator, true); + + advancedOrderEngine.manageOperatorPrivilege(testOperator, false); + assertEq(advancedOrderEngine.isOperator(testOperator), false); + + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); + + vm.stopPrank(); + + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); + } + + function testUpdateTokenWhitelist() public { + vm.startPrank(admin); + + IERC20[] memory tokens = new IERC20[](2); + bool[] memory access = new bool[](2); + + tokens[0] = IERC20(address(1)); // Assuming these addresses are valid ERC20 tokens + tokens[1] = IERC20(address(2)); + + // Initial status should be not whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); + + // Whitelisting tokens + access[0] = true; + access[1] = true; + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Verify the tokens are now whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), true); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), true); + + // Test for AccessStatusUnchanged revert + vm.expectRevert(AccessStatusUnchanged.selector); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Remove from whitelist + access[0] = false; + access[1] = false; + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Verify the tokens are no longer whitelisted + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); + assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); + + // Test for ZeroAddress revert + tokens[0] = IERC20(address(0)); // Zero address token + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + + // Test for ArraysLengthMismatch revert + IERC20[] memory mismatchedTokens = new IERC20[](1); + bool[] memory mismatchedAccess = new bool[](2); + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.updateTokenWhitelist(mismatchedTokens, mismatchedAccess); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.updateTokenWhitelist(tokens, access); + } + + function testChangePredicateAddress() public { + vm.startPrank(admin); + + IPredicates newPredicatesAddr = IPredicates(address(3)); // Assuming this is a valid address + + // Change to a new address + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + assertEq(address(advancedOrderEngine.predicates()), address(newPredicatesAddr)); + + // Test for ZeroAddress revert + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.changePredicateAddress(IPredicates(address(0))); + + // Test for SamePredicateAddress revert + vm.expectRevert(SamePredicateAddress.selector); + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.changePredicateAddress(newPredicatesAddr); + } + + function testChangeFeeCollectorAddress() public { + vm.startPrank(admin); + + address newFeeCollectorAddr = address(4); // Assuming this is a valid address + + // Change to a new fee collector address + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + assertEq(advancedOrderEngine.feeCollector(), newFeeCollectorAddr); + + // Test for ZeroAddress revert + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.changeFeeCollectorAddress(address(0)); + + // Test for SameFeeCollectorAddress revert + vm.expectRevert(SameFeeCollectorAddress.selector); + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + + // Test for onlyOwner modifier + vm.stopPrank(); + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); + } + + function testFillOrders() public { + + OrderEngine.Order memory buyOrder = getDummyBuyOrder(); + OrderEngine.Order memory sellOrder = getDummySellOrder(); + + printOrder(buyOrder); + printOrder(sellOrder); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = wmatic.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = wmatic.balanceOf(maker1); + + vm.startPrank(operator); + + OrderEngine.Order[] memory orders = new OrderEngine.Order[](2); + + orders[0] = sellOrder; + orders[1] = buyOrder; + + uint256[] memory sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + uint256[] memory buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + bytes[] memory sigs = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(sellOrder))); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(buyOrder))); + + sigs[0] = sellOrderSignature; + sigs[1] = buyOrderSignature; + + uint256[] memory emptyArray2 = new uint256[](0); + IERC20[] memory emptyArray1 = new IERC20[](0); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = wmatic.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = wmatic.balanceOf(maker1); + + // maker 1 buy order sells usdc + // maker 2 sell order sells wmatic + assertEq(beforeUsdcMaker2 + sellOrder.buyTokenAmount, afterUsdcMaker2); + assertEq(beforeWethMaker2, afterWethMaker2 + sellOrder.sellTokenAmount); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + buyOrder.sellTokenAmount); + assertEq(beforeWethMaker1 + buyOrder.buyTokenAmount , afterWethMaker1); + } + + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 1, + 1700948778, + 10000000, + 4800000000000000, + 0, + maker1, + owner, + maker1, + usdc, + wmatic, + true, + 0x0000000000000000000000000000000000000000000000000000000000000000, + "", + '0x', + '0x' + ); + } + + function getDummySellOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 2, + 1700948778, + 4800000000000000, + 10000000, + 0, + maker2, + owner, + maker2, + wmatic, + usdc, + true, + 0x0000000000000000000000000000000000000000000000000000000000000000, + '', + '0x', + '0x' + ); + } + + function printOrder(OrderEngine.Order memory order) internal view { + console2.log("order: "); + console2.log(order.nonce); + console2.log(order.validTill); + console2.log(order.sellTokenAmount); + console2.log(order.buyTokenAmount); + console2.log(order.feeAmounts); + console2.log(order.maker); + console2.log(order.operator); + console2.log(order.recipient); + console2.log(address(order.sellToken)); + console2.log(address(order.buyToken)); + console2.log(order.isPartiallyFillable); + console2.logBytes32(order.extraData); + console2.logBytes(order.predicateCalldata); + console2.logBytes(order.preInteraction); + console2.logBytes(order.postInteraction); + } + + // function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { + // return OrderEngine.Order( + // 123, // Replace with the desired nonce value + // block.timestamp + 3600, // Replace with the desired validTill timestamp + // 4800000000000000, // 0.0048 weth + // 10000000, // 10 USDC + // 0, // No fee + // maker1, // Maker's Ethereum address + // operator, // Taker's Ethereum address (or null for public order) + // maker1, // Recipient's Ethereum address + // weth, // MATIC token address + // usdc, // USDC token address + // true, // Replace with true or false depending on whether the order is partially fillable + // "0x", // Replace with any extra data as a hexadecimal string + // "", // Replace with predicate calldata as a hexadecimal string + // "0x", // Replace with pre-interaction data as a hexadecimal string + // "0x" // Replace with post-interaction data as a hexadecimal string + // ); + // } + + // function getDummySellOrder() private view returns(OrderEngine.Order memory) { + // return OrderEngine.Order( + // 124, // Replace with the desired nonce value + // block.timestamp + 3600, // Replace with the desired validTill timestamp + // 10000000, // 10 USDC + // 4800000000000000, // 0.0048 weth + // 0, // No fee + // maker2, // Maker's Ethereum address + // operator, // Taker's Ethereum address (or null for public order) + // maker2, // Recipient's Ethereum address + // usdc, // USDC token address + // weth, // MATIC token address + // true, // Replace with true or false depending on whether the order is partially fillable + // "0x", // Replace with any extra data as a hexadecimal string + // "", // Replace with predicate calldata as a hexadecimal string + // "0x", // Replace with pre-interaction data as a hexadecimal string + // "0x" // Replace with post-interaction data as a hexadecimal string + // ); + // } + + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { + return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); + } + +} + +/** Predicates selectors + * and = 0x616e6400 + * or = 0x6f720000 + */ \ No newline at end of file From ca31acff21ccc9836e8cacb23735b94ed0797ace Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Sat, 25 Nov 2023 21:07:28 +0500 Subject: [PATCH 038/122] transaction script --- script/transactionOrder.s.sol | 127 ++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 script/transactionOrder.s.sol diff --git a/script/transactionOrder.s.sol b/script/transactionOrder.s.sol new file mode 100644 index 0000000..b796076 --- /dev/null +++ b/script/transactionOrder.s.sol @@ -0,0 +1,127 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/AdvancedOrderEngine.sol"; +import "../src/Predicates.sol"; + +contract MigratorScript is Script { + Predicates predicates = Predicates(0xF290FF9ED61cB43F96D3F374474f05810d505430); + AdvancedOrderEngine advancedOrderEngine = AdvancedOrderEngine(0xDaC771732B2211e2d2c691DC95f9Cf75A61a5974); + uint256 ownerPrivateKey = 0xfaf0f9ee23d7bc40a0cbe59f343d66e7f47cf333826b757dc8ae6d13a26aaacc; + address owner = vm.addr(ownerPrivateKey); + uint256 maker1PrivateKey = 0x05330e3506561033ca68a39c73cf8b4ce3c929e2773800c80c2da83a781aaa4c ; //also owner of contract + address maker1 = vm.addr(maker1PrivateKey); + uint256 maker2PrivateKey = 0x66a23653c7a7f9c068cd2f1155fd7b02e637e58f9d350890eb7864d1f4c43687; //also owner of contract + address maker2 = vm.addr(maker2PrivateKey); + IERC20 usdc = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); + IERC20 wmatic = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); + + function run() external { + + // vm.startBroadcast(maker1PrivateKey); + + // usdc.approve(address(advancedOrderEngine), UINT256_MAX); + + // vm.stopBroadcast(); + + // vm.startBroadcast(maker2PrivateKey); + + // wmatic.approve(address(advancedOrderEngine), UINT256_MAX); + + // vm.stopBroadcast(); + + vm.startBroadcast(ownerPrivateKey); + + OrderEngine.Order memory buyOrder = getDummyBuyOrder(); + OrderEngine.Order memory sellOrder = getDummySellOrder(); + OrderEngine.Order[] memory orders = new OrderEngine.Order[](2); + + orders[0] = sellOrder; + orders[1] = buyOrder; + + uint256[] memory sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + uint256[] memory buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + bytes[] memory sigs = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(sellOrder))); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(buyOrder))); + + sigs[0] = sellOrderSignature; + sigs[1] = buyOrderSignature; + + uint256[] memory emptyArray2 = new uint256[](0); + IERC20[] memory emptyArray1 = new IERC20[](0); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + vm.stopBroadcast(); + + } + + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 1, + 1700948778, + 10000000, + 4800000000000000, + 0, + maker1, + owner, + maker1, + usdc, + wmatic, + true, + 0x0000000000000000000000000000000000000000000000000000000000000000, + "", + '0x', + '0x' + ); + } + + function getDummySellOrder() private view returns(OrderEngine.Order memory) { + return OrderEngine.Order( + 2, + 1700948778, + 4800000000000000, + 10000000, + 0, + maker2, + owner, + maker2, + wmatic, + usdc, + true, + 0x0000000000000000000000000000000000000000000000000000000000000000, + '', + '0x', + '0x' + ); + } + + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { + return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); + } +} \ No newline at end of file From a9ada68ab1c669d7cc9b66ed7748e4b47da300ad Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 00:07:17 +0500 Subject: [PATCH 039/122] input tests --- README.md | 2 +- test/AdvancedOrderEngine.t.sol | 194 +++++++++++++++++++++++++++++++++ 2 files changed, 195 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 315efb7..f659540 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ To run code in this repository, follow these steps: 5. **Run unit tests:** ```bash source .env - forge test -vvv --rpc-url $MAINNET_RPC_URL --match-contract AdvancedOrderEngineTest + forge test -vvv --rpc-url $MAINNET_RPC_URL --match-path test/AdvancedOrderEngine.t.sol ``` 6. **Run deploy and setup script** diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 2e88585..b0053fc 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -275,6 +275,200 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } + function testNoOrderInputFillOrders() public { + OrderEngine.Order memory buyOrder = getDummyBuyOrder(); + OrderEngine.Order memory sellOrder = getDummySellOrder(); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + OrderEngine.Order[] memory orders = new OrderEngine.Order[](0); + + // orders[0] = sellOrder; + // orders[1] = buyOrder; + + uint256[] memory sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + uint256[] memory buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + bytes[] memory sigs = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + sigs[0] = sellOrderSignature; + sigs[1] = buyOrderSignature; + + uint256[] memory emptyArray2 = new uint256[](0); + IERC20[] memory emptyArray1 = new IERC20[](0); + + vm.expectRevert(EmptyArray.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2); + assertEq(beforeWethMaker2, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1); + } + + function testInputLengthMismatchFillOrders() public { + OrderEngine.Order memory buyOrder = getDummyBuyOrder(); + OrderEngine.Order memory sellOrder = getDummySellOrder(); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + OrderEngine.Order[] memory orders = new OrderEngine.Order[](1); + + orders[0] = sellOrder; + // orders[1] = buyOrder; + + uint256[] memory sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + uint256[] memory buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + bytes[] memory sigs = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + sigs[0] = sellOrderSignature; + sigs[1] = buyOrderSignature; + + uint256[] memory emptyArray2 = new uint256[](0); + IERC20[] memory emptyArray1 = new IERC20[](0); + + // if orderlength != sell order or buy order length + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + // if sell order != order || buy order || sig + orders = new OrderEngine.Order[](2); + + orders[0] = sellOrder; + orders[1] = buyOrder; + + sell = new uint256[](1); + + sell[0] = sellOrder.sellTokenAmount; + + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + // if buy order != sell order || order || sig + buy = new uint256[](1); + + buy[0] = sellOrder.buyTokenAmount; + // buy[1] = buyOrder.buyTokenAmount; + + sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + // if sig != buy order || sell order || sig + buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + sigs = new bytes[](1); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + sellOrderSignature = abi.encodePacked(r, s, v); + + sigs[0] = sellOrderSignature; + + vm.expectRevert(ArraysLengthMismatch.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + sigs, + '0x', + emptyArray1, + emptyArray2 + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2); + assertEq(beforeWethMaker2, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1); + } + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // Replace with the desired nonce value From b20b703213c6f00468d2ce3b1a671fe6b9824a1f Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 11:30:34 +0500 Subject: [PATCH 040/122] input cleanup --- test/AdvancedOrderEngine.t.sol | 223 ++++++++++++++++----------------- 1 file changed, 108 insertions(+), 115 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index b0053fc..e4796df 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -214,8 +214,6 @@ contract AdvancedOrderEngineTest is Test { } function testFillOrders() public { - OrderEngine.Order memory buyOrder = getDummyBuyOrder(); - OrderEngine.Order memory sellOrder = getDummySellOrder(); uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); uint beforeUsdcMaker1 = usdc.balanceOf(maker1); @@ -223,43 +221,26 @@ contract AdvancedOrderEngineTest is Test { vm.startPrank(operator); - OrderEngine.Order[] memory orders = new OrderEngine.Order[](2); - - orders[0] = sellOrder; - orders[1] = buyOrder; - - uint256[] memory sell = new uint256[](2); - - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; - - uint256[] memory buy = new uint256[](2); - - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; - - bytes[] memory sigs = new bytes[](2); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - - (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - bytes memory buyOrderSignature = abi.encodePacked(r, s, v); - - sigs[0] = sellOrderSignature; - sigs[1] = buyOrderSignature; - - uint256[] memory emptyArray2 = new uint256[](0); - IERC20[] memory emptyArray1 = new IERC20[](0); + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); advancedOrderEngine.fillOrders( orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); vm.stopPrank(); @@ -276,8 +257,6 @@ contract AdvancedOrderEngineTest is Test { } function testNoOrderInputFillOrders() public { - OrderEngine.Order memory buyOrder = getDummyBuyOrder(); - OrderEngine.Order memory sellOrder = getDummySellOrder(); uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); uint beforeUsdcMaker1 = usdc.balanceOf(maker1); @@ -285,44 +264,27 @@ contract AdvancedOrderEngineTest is Test { vm.startPrank(operator); - OrderEngine.Order[] memory orders = new OrderEngine.Order[](0); - - // orders[0] = sellOrder; - // orders[1] = buyOrder; + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,, + ) = getStandardInput(); - uint256[] memory sell = new uint256[](2); - - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; - - uint256[] memory buy = new uint256[](2); - - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; - - bytes[] memory sigs = new bytes[](2); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - - (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - bytes memory buyOrderSignature = abi.encodePacked(r, s, v); - - sigs[0] = sellOrderSignature; - sigs[1] = buyOrderSignature; - - uint256[] memory emptyArray2 = new uint256[](0); - IERC20[] memory emptyArray1 = new IERC20[](0); + orders = new OrderEngine.Order[](0); vm.expectRevert(EmptyArray.selector); advancedOrderEngine.fillOrders( orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); vm.stopPrank(); @@ -339,8 +301,6 @@ contract AdvancedOrderEngineTest is Test { } function testInputLengthMismatchFillOrders() public { - OrderEngine.Order memory buyOrder = getDummyBuyOrder(); - OrderEngine.Order memory sellOrder = getDummySellOrder(); uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); uint beforeUsdcMaker1 = usdc.balanceOf(maker1); @@ -348,34 +308,21 @@ contract AdvancedOrderEngineTest is Test { vm.startPrank(operator); - OrderEngine.Order[] memory orders = new OrderEngine.Order[](1); + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); - orders[0] = sellOrder; - // orders[1] = buyOrder; - - uint256[] memory sell = new uint256[](2); - - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; + orders = new OrderEngine.Order[](1); - uint256[] memory buy = new uint256[](2); - - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; - - bytes[] memory sigs = new bytes[](2); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - - (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - bytes memory buyOrderSignature = abi.encodePacked(r, s, v); - - sigs[0] = sellOrderSignature; - sigs[1] = buyOrderSignature; - - uint256[] memory emptyArray2 = new uint256[](0); - IERC20[] memory emptyArray1 = new IERC20[](0); + orders[0] = sellOrder; // if orderlength != sell order or buy order length vm.expectRevert(ArraysLengthMismatch.selector); @@ -383,10 +330,10 @@ contract AdvancedOrderEngineTest is Test { orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); // if sell order != order || buy order || sig @@ -404,10 +351,10 @@ contract AdvancedOrderEngineTest is Test { orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); // if buy order != sell order || order || sig @@ -426,10 +373,10 @@ contract AdvancedOrderEngineTest is Test { orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); // if sig != buy order || sell order || sig @@ -438,22 +385,22 @@ contract AdvancedOrderEngineTest is Test { buy[0] = sellOrder.buyTokenAmount; buy[1] = buyOrder.buyTokenAmount; - sigs = new bytes[](1); + signatures = new bytes[](1); - (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - sellOrderSignature = abi.encodePacked(r, s, v); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - sigs[0] = sellOrderSignature; + signatures[0] = sellOrderSignature; vm.expectRevert(ArraysLengthMismatch.selector); advancedOrderEngine.fillOrders( orders, sell, buy, - sigs, - '0x', - emptyArray1, - emptyArray2 + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts ); vm.stopPrank(); @@ -509,6 +456,52 @@ contract AdvancedOrderEngineTest is Test { ); } + function getStandardInput() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) { + + buyOrder = getDummyBuyOrder(); + sellOrder = getDummySellOrder(); + + orders = new OrderEngine.Order[](2); + + orders[0] = sellOrder; + orders[1] = buyOrder; + + sell = new uint256[](2); + + sell[0] = sellOrder.sellTokenAmount; + sell[1] = buyOrder.sellTokenAmount; + + buy = new uint256[](2); + + buy[0] = sellOrder.buyTokenAmount; + buy[1] = buyOrder.buyTokenAmount; + + signatures = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From e53f4d5ce4949b48b41e948d794a3e1d9a5d63a1 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 12:27:44 +0500 Subject: [PATCH 041/122] test validateOrder --- test/AdvancedOrderEngine.t.sol | 173 +++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index e4796df..05f0c6d 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -300,6 +300,179 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1); } + function testInvalidInputFillOrders() public { + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + sellOrder.validTill = block.timestamp - 1000; + orders[0] = sellOrder; + + // expired order + vm.expectRevert( + abi.encodeWithSelector( + OrderExpired.selector, + advancedOrderEngine.getOrderHash(sellOrder) + ) + ); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // zero amount + sellOrder.validTill = block.timestamp + 1000; + uint prevSellAmount = sellOrder.sellTokenAmount; + sellOrder.sellTokenAmount = 0; + orders[0] = sellOrder; + + // zero amount + vm.expectRevert(ZeroAmount.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // not white listed token + sellOrder.sellTokenAmount = prevSellAmount; + IERC20 prevToken = sellOrder.sellToken; + sellOrder.sellToken = wmatic; + orders[0] = sellOrder; + + vm.expectRevert(TokenNotWhitelisted.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // not zero address token + sellOrder.sellTokenAmount = prevSellAmount; + sellOrder.sellToken = IERC20(address(0)); + orders[0] = sellOrder; + + vm.expectRevert(TokenNotWhitelisted.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // zero address operator + sellOrder.sellToken = prevToken; + sellOrder.operator = address(99); + orders[0] = sellOrder; + + vm.expectRevert(PrivateOrder.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // zero address operator + sellOrder.operator = address(0); + orders[0] = sellOrder; + + vm.expectRevert(InvalidSignature.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2); + assertEq(beforeWethMaker2, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1); + } + + function testOrderReplay() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,, + ) = getStandardInput(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + // order replay + vm.expectRevert(OrderFilledAlready.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function testInputLengthMismatchFillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); From cb4760a94a188987ed28a2786c908899150309b7 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 13:42:36 +0500 Subject: [PATCH 042/122] new deploy and verify --- README.md | 3 + ...un-1700853646.json => run-1701074240.json} | 54 +-- ...un-1700853653.json => run-1701074248.json} | 254 +++++------ .../1891/run-1701074287.json | 393 ++++++++++++++++++ .../1891/run-latest.json | 254 +++++------ 5 files changed, 677 insertions(+), 281 deletions(-) rename broadcast/deployOrderEngine.s.sol/1891/{run-1700853646.json => run-1701074240.json} (93%) rename broadcast/deployOrderEngine.s.sol/1891/{run-1700853653.json => run-1701074248.json} (81%) create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json diff --git a/README.md b/README.md index f659540..a5304ef 100644 --- a/README.md +++ b/README.md @@ -31,5 +31,8 @@ To run code in this repository, follow these steps: ```bash source .env forge script script/deployOrderEngine.s.sol --rpc-url $PEGASUS_RPC_URL --legacy --broadcast + + # deploy and verify + forge script script/deployOrderEngine.s.sol --rpc-url $PEGASUS_RPC_URL --broadcast -vvv --legacy --verify --verifier blockscout --verifier-url https://pegasus.lightlink.io/api/? --watch ``` diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json similarity index 93% rename from broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json rename to broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json index 0b8acb5..4737512 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1700853646.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3ac" + "nonce": "0x3d2" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "function": null, "arguments": null, "transaction": { @@ -30,19 +30,19 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3ad" + "nonce": "0x3d3" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": null, "arguments": [ - "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { @@ -50,17 +50,17 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x30dda8", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3ae" + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3d4" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3af" + "nonce": "0x3d5" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x5df43", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3b0" + "nonce": "0x3d6" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,18 +103,18 @@ ], "receipts": [], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" ], "pending": [ - "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", - "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", - "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", - "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", - "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba" + "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", + "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", + "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4" ], "returns": {}, - "timestamp": 1700853646, + "timestamp": 1701074240, "chain": 1891, "multi": false, - "commit": "d932765" + "commit": "e53f4d5" } \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json similarity index 81% rename from broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json rename to broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json index e583e31..184cfd5 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1700853653.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3ac" + "nonce": "0x3d2" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "function": null, "arguments": null, "transaction": { @@ -30,19 +30,19 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3ad" + "nonce": "0x3d3" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": null, "arguments": [ - "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { @@ -50,17 +50,17 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x30dda8", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3ae" + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3d4" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3af" + "nonce": "0x3d5" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x5df43", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3b0" + "nonce": "0x3d6" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,291 @@ ], "receipts": [ { - "transactionHash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", "transactionIndex": "0x0", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x44a0a", "gasUsed": "0x44a0a", - "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", "logs": [], "status": "0x1", - "root": "0x881aae533aec2721ed48d4266dd7404db4a87ff21c9a37236082515cfc4b7992", + "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", "transactionIndex": "0x1", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "logs": [], "status": "0x1", - "root": "0x0750f22966c16b7ca6e2e65ab1cbf517d61367f9ab43af2a361957a28ff38aa9", + "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x2599a2", "gasUsed": "0x2599a2", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xa15f5bdedc8595e3f4a3be51e6bb64999c7eaccad068b28c0193c78167aff4fe", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800002080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionIndex": "0x0", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "root": "0x28e145ad14c9cb849d089432557a77085f0703c89e81318ef93beffab0513698", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "cumulativeGasUsed": "0x44056", "gasUsed": "0x44056", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x1", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x0", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x2", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x1", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x3", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x2", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x4", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x3", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x5", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x4", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x6", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x5", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x7", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x6", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x8", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x7", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x9", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x8", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0xa", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x9", "removed": false } ], "status": "0x1", - "root": "0x7391ba34e837e14dffd0f8a030dcdf9afce874edb6f519ba17cd82a463d936a3", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000080000c00004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" ], "pending": [], "returns": {}, - "timestamp": 1700853653, + "timestamp": 1701074248, "chain": 1891, "multi": false, - "commit": "d932765" + "commit": "e53f4d5" } \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json new file mode 100644 index 0000000..bfbe5b3 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x3d2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x3d3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "function": null, + "arguments": [ + "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x30dda8", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3d4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3d5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", + "gas": "0x5df43", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3d6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", + "transactionIndex": "0x0", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", + "logs": [], + "status": "0x1", + "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", + "transactionIndex": "0x1", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "logs": [], + "status": "0x1", + "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "transactionIndex": "0x2", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x2599a2", + "gasUsed": "0x2599a2", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "logs": [ + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "transactionIndex": "0x0", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "cumulativeGasUsed": "0x44056", + "gasUsed": "0x44056", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x9", + "removed": false + } + ], + "status": "0x1", + "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" + ], + "pending": [], + "returns": {}, + "timestamp": 1701074287, + "chain": 1891, + "multi": false, + "commit": "e53f4d5" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json index e583e31..bfbe5b3 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3ac" + "nonce": "0x3d2" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "function": null, "arguments": null, "transaction": { @@ -30,19 +30,19 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3ad" + "nonce": "0x3d3" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": null, "arguments": [ - "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { @@ -50,17 +50,17 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x30dda8", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b0381738e13a8233fe94c1ed3379bc762b661fb2cabcfeb5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220363761789d41b79dcbefc32d0258db7ea890cc965d6def954493d8da38e9fa8a64736f6c634300081500330000000000000000000000005c6ef9ba4d307f63a599f049ed51bb8d8f87f0800000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3ae" + "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3d4" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3af" + "nonce": "0x3d5" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", + "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x913f54b4a30019339a69574b349a10e248a499a6", + "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", "gas": "0x5df43", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3b0" + "nonce": "0x3d6" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,291 @@ ], "receipts": [ { - "transactionHash": "0xf39f192dcee31956da146acc4171b19f2ace90fbb689d5d18a56e74ac2a4b990", + "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", "transactionIndex": "0x0", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x44a0a", "gasUsed": "0x44a0a", - "contractAddress": "0x8E13a8233Fe94c1ed3379Bc762B661fB2cABCfEb", + "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", "logs": [], "status": "0x1", - "root": "0x881aae533aec2721ed48d4266dd7404db4a87ff21c9a37236082515cfc4b7992", + "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x5d837195439ed10cbf8da731228adebfb0f43a260b28b44cbe95876f4abd2a7c", + "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", "transactionIndex": "0x1", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0x5C6ef9bA4D307F63A599F049ED51Bb8D8F87F080", + "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", "logs": [], "status": "0x1", - "root": "0x0750f22966c16b7ca6e2e65ab1cbf517d61367f9ab43af2a361957a28ff38aa9", + "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x2599a2", "gasUsed": "0x2599a2", - "contractAddress": "0x913f54B4A30019339a69574b349A10e248a499A6", + "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x91cb9f317e93b6a16b248161aa31130831bdd90d5a9e620db09862b336549773", - "blockNumber": "0x3415b3f", - "transactionHash": "0x222550db7dafb8c5338801e8cc37da5204313911cc020d9cd899755accc19269", + "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", + "blockNumber": "0x3480e2d", + "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xa15f5bdedc8595e3f4a3be51e6bb64999c7eaccad068b28c0193c78167aff4fe", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800002080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionIndex": "0x0", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0xd70dc4b84d080f788a308a79db3fcc197e018b0b7da0455b73708c0f62084fdf", + "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", + "blockNumber": "0x3480e2e", + "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "root": "0x28e145ad14c9cb849d089432557a77085f0703c89e81318ef93beffab0513698", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000080000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x913f54B4A30019339a69574b349A10e248a499A6", + "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "cumulativeGasUsed": "0x44056", "gasUsed": "0x44056", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x1", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x0", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x2", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x1", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x3", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x2", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x4", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x3", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x5", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x4", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x6", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x5", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x7", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x6", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x8", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x7", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0x9", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x8", "removed": false }, { - "address": "0x913f54B4A30019339a69574b349A10e248a499A6", + "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x73401ad2877e688965cf8d2a553574db4b77c9a141b538223531f73a10ec5f58", - "blockNumber": "0x3415b40", - "transactionHash": "0x8a7f96c641ac9fdcd1446f14145adc0b13a33bc955cf941490dde87e5222faba", - "transactionIndex": "0x1", - "logIndex": "0xa", + "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", + "blockNumber": "0x3480e2f", + "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "transactionIndex": "0x0", + "logIndex": "0x9", "removed": false } ], "status": "0x1", - "root": "0x7391ba34e837e14dffd0f8a030dcdf9afce874edb6f519ba17cd82a463d936a3", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000080000c00004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x8e13a8233fe94c1ed3379bc762b661fb2cabcfeb" + "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" ], "pending": [], "returns": {}, - "timestamp": 1700853653, + "timestamp": 1701074287, "chain": 1891, "multi": false, - "commit": "d932765" + "commit": "e53f4d5" } \ No newline at end of file From dec9e37fec6bfc38fb07f312813ec5966fd1a541 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 13:59:34 +0500 Subject: [PATCH 043/122] clean up --- script/transactionOrder.s.sol | 6 +++--- test/LiveAdvancedOrderEngine.t.sol | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/script/transactionOrder.s.sol b/script/transactionOrder.s.sol index b796076..a9e45be 100644 --- a/script/transactionOrder.s.sol +++ b/script/transactionOrder.s.sol @@ -8,11 +8,11 @@ import "../src/Predicates.sol"; contract MigratorScript is Script { Predicates predicates = Predicates(0xF290FF9ED61cB43F96D3F374474f05810d505430); AdvancedOrderEngine advancedOrderEngine = AdvancedOrderEngine(0xDaC771732B2211e2d2c691DC95f9Cf75A61a5974); - uint256 ownerPrivateKey = 0xfaf0f9ee23d7bc40a0cbe59f343d66e7f47cf333826b757dc8ae6d13a26aaacc; + uint256 ownerPrivateKey = vm.envUint("LIVE_MAKER1"); address owner = vm.addr(ownerPrivateKey); - uint256 maker1PrivateKey = 0x05330e3506561033ca68a39c73cf8b4ce3c929e2773800c80c2da83a781aaa4c ; //also owner of contract + uint256 maker1PrivateKey = vm.envUint("LIVE_MAKER1"); address maker1 = vm.addr(maker1PrivateKey); - uint256 maker2PrivateKey = 0x66a23653c7a7f9c068cd2f1155fd7b02e637e58f9d350890eb7864d1f4c43687; //also owner of contract + uint256 maker2PrivateKey = vm.envUint("LIVE_MAKER2"); address maker2 = vm.addr(maker2PrivateKey); IERC20 usdc = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); IERC20 wmatic = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); diff --git a/test/LiveAdvancedOrderEngine.t.sol b/test/LiveAdvancedOrderEngine.t.sol index 97a4c8d..9827a52 100644 --- a/test/LiveAdvancedOrderEngine.t.sol +++ b/test/LiveAdvancedOrderEngine.t.sol @@ -34,9 +34,9 @@ contract LiveAdvancedOrderEngineTest is Test { address owner = vm.addr(ownerPrivateKey); address feeCollector = owner; address admin = owner; - uint256 maker1PrivateKey = 0x05330e3506561033ca68a39c73cf8b4ce3c929e2773800c80c2da83a781aaa4c ; //also owner of contract + uint256 maker1PrivateKey = vm.envUint("LIVE_MAKER1"); address maker1 = vm.addr(maker1PrivateKey); - uint256 maker2PrivateKey = 0x66a23653c7a7f9c068cd2f1155fd7b02e637e58f9d350890eb7864d1f4c43687; //also owner of contract + uint256 maker2PrivateKey = vm.envUint("LIVE_MAKER2"); address maker2 = vm.addr(maker2PrivateKey); uint256 operatorPrivateKey = 0xB0B; address operator = owner; From c84c2df33eb614e5097f082bf5c9f2b175334a4f Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 14:00:46 +0500 Subject: [PATCH 044/122] cleanup --- script/deployOrderEngine.s.sol | 2 +- script/transactionOrder.s.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/script/deployOrderEngine.s.sol b/script/deployOrderEngine.s.sol index 691916e..92e1c4d 100644 --- a/script/deployOrderEngine.s.sol +++ b/script/deployOrderEngine.s.sol @@ -5,7 +5,7 @@ import "forge-std/Script.sol"; import "../src/AdvancedOrderEngine.sol"; import "../src/Predicates.sol"; -contract MigratorScript is Script { +contract DeployScript is Script { function run() external { AdvancedOrderEngine advancedOrderEngine; Predicates predicates; diff --git a/script/transactionOrder.s.sol b/script/transactionOrder.s.sol index a9e45be..03af9ed 100644 --- a/script/transactionOrder.s.sol +++ b/script/transactionOrder.s.sol @@ -5,7 +5,7 @@ import "forge-std/Script.sol"; import "../src/AdvancedOrderEngine.sol"; import "../src/Predicates.sol"; -contract MigratorScript is Script { +contract TransactionScript is Script { Predicates predicates = Predicates(0xF290FF9ED61cB43F96D3F374474f05810d505430); AdvancedOrderEngine advancedOrderEngine = AdvancedOrderEngine(0xDaC771732B2211e2d2c691DC95f9Cf75A61a5974); uint256 ownerPrivateKey = vm.envUint("LIVE_MAKER1"); From 64f0d8fe37b6314b40dad8c7257145593cd6c0a5 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 16:30:29 +0500 Subject: [PATCH 045/122] partially fillable order test --- test/AdvancedOrderEngine.t.sol | 86 +++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 2 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 05f0c6d..b2f0ba8 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -589,6 +589,88 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1); } + function testPartiallyFillableOrder() public { + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + sell[0] = sellOrder.sellTokenAmount / 2; + sell[1] = buyOrder.sellTokenAmount / 2; + buy[0] = sellOrder.buyTokenAmount / 2; + buy[1] = buyOrder.buyTokenAmount / 2; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount / 2); + assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount / 2, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount / 2, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount / 2); + } + + function testPartiallyFillableOrderFail() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,, + ) = getStandardInput(); + + sell[0] = 8 * 10 ** 6; + sell[1] = 0.0022 * 10 ** 18; + + buy[0] = 0.0022 * 10 ** 18; + buy[1] = 8 * 10 ** 6; + + vm.expectRevert(LimitPriceNotRespected.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // Replace with the desired nonce value @@ -613,8 +695,8 @@ contract AdvancedOrderEngineTest is Test { return OrderEngine.Order( 124, // Replace with the desired nonce value block.timestamp + 3600, // Replace with the desired validTill timestamp - 10000000, // 10 USDC - 4800000000000000, // 0.0048 weth + 10000000, // 10 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount 0, // No fee maker2, // Maker's Ethereum address operator, // Taker's Ethereum address (or null for public order) From 13f0041de5ad87f660b0377aee2b1e41b54a170e Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 16:56:38 +0500 Subject: [PATCH 046/122] test fill or kill --- test/AdvancedOrderEngine.t.sol | 118 ++++++++++++++++++++++++++------- 1 file changed, 94 insertions(+), 24 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index b2f0ba8..b75cb96 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -671,43 +671,113 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } + function testInvalidSignature() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,, + ) = getStandardInput(); + + bytes memory temp = signatures[0]; + signatures[0] = signatures[1]; + signatures[1] = temp; + + vm.expectRevert(InvalidSignature.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testFillOrKillFail() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + sell[0] = sellOrder.sellTokenAmount / 2; + sell[1] = buyOrder.sellTokenAmount / 2; + buy[0] = sellOrder.buyTokenAmount / 2; + buy[1] = buyOrder.buyTokenAmount / 2; + + orders[0].isPartiallyFillable = false; + orders[1].isPartiallyFillable = false; + + vm.expectRevert(LimitPriceNotRespected.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( - 123, // Replace with the desired nonce value - block.timestamp + 3600, // Replace with the desired validTill timestamp - 4800000000000000, // 0.0048 weth - 10000000, // 10 USDC - 0, // No fee - maker1, // Maker's Ethereum address + 123, // nonce value + block.timestamp + 3600, // valid till + 4800000000000000, // 0.0048 weth - sell token + 10000000, // 10 USDC - buy amount + 0, // fee + maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - weth, // MATIC token address - usdc, // USDC token address - true, // Replace with true or false depending on whether the order is partially fillable - "0x", // Replace with any extra data as a hexadecimal string - "", // Replace with predicate calldata as a hexadecimal string - "0x", // Replace with pre-interaction data as a hexadecimal string - "0x" // Replace with post-interaction data as a hexadecimal string + weth, // MATIC token address - sell token + usdc, // USDC token address - buy token + true, // is partially fillable + "0x", // facilitator call data + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data ); } function getDummySellOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( - 124, // Replace with the desired nonce value - block.timestamp + 3600, // Replace with the desired validTill timestamp + 124, // nonce value + block.timestamp + 3600, // valid till 10000000, // 10 USDC - sell token amount 4800000000000000, // 0.0048 weth - buy token amount - 0, // No fee - maker2, // Maker's Ethereum address + 0, // fee + maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - usdc, // USDC token address - weth, // MATIC token address - true, // Replace with true or false depending on whether the order is partially fillable - "0x", // Replace with any extra data as a hexadecimal string - "", // Replace with predicate calldata as a hexadecimal string - "0x", // Replace with pre-interaction data as a hexadecimal string - "0x" // Replace with post-interaction data as a hexadecimal string + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + true, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data ); } From 66d5d7ce350a3ae9db6693f0e487090a331140ff Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 17:01:34 +0500 Subject: [PATCH 047/122] partially fill exceed order amount --- test/AdvancedOrderEngine.t.sol | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index b75cb96..bcba770 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -637,6 +637,41 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount / 2); } + function testExceedsOrderSellAmount() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + sell[0] = sellOrder.sellTokenAmount * 2; + sell[1] = buyOrder.sellTokenAmount * 2; + buy[0] = sellOrder.buyTokenAmount * 2; + buy[1] = buyOrder.buyTokenAmount * 2; + + vm.expectRevert(ExceedsOrderSellAmount.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function testPartiallyFillableOrderFail() public { vm.startPrank(operator); From d8a8bc7c0205ee9c15a3db8995a61dd4c60311d8 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 17:29:31 +0500 Subject: [PATCH 048/122] predicate tests --- test/AdvancedOrderEngine.t.sol | 138 +++++++++++++++++++++++++++++++++ test/interfaces/pricefeed.sol | 7 ++ 2 files changed, 145 insertions(+) create mode 100644 test/interfaces/pricefeed.sol diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index bcba770..f64225f 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -10,6 +10,7 @@ import "./../src/libraries/OrderEngine.sol"; import "./../src/Helper/GenerateCalldata.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; +import "./interfaces/pricefeed.sol"; import "openzeppelin/token/ERC20/IERC20.sol"; import "openzeppelin/utils/cryptography/ECDSA.sol"; @@ -21,6 +22,7 @@ contract AdvancedOrderEngineTest is Test { IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); + IPriceFeed usdc_eth = IPriceFeed(0x986b5E1e1755e3C2440e960477f25201B0a8bbD4); address zeroAddress = address(0); address feeCollector = address(147578); address admin = address(3); @@ -776,6 +778,138 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } + function testPredicateFail() public { + + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryS + // generateCalldata1 + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = ltFnCalldata; + orders[1].predicateCalldata = ltFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(PredicateIsNotTrue.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testPredicate() public { + + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryS + // generateCalldata1 + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = ltFnCalldata; + orders[1].predicateCalldata = ltFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(PredicateIsNotTrue.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // nonce value @@ -866,6 +1000,10 @@ contract AdvancedOrderEngineTest is Test { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } + function _oraclePrice() internal view virtual returns (uint256) { + return 99999 ether; + } + } /** Predicates selectors diff --git a/test/interfaces/pricefeed.sol b/test/interfaces/pricefeed.sol new file mode 100644 index 0000000..e874164 --- /dev/null +++ b/test/interfaces/pricefeed.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +interface IPriceFeed { + function latestAnswer() external payable returns(uint256); +} \ No newline at end of file From beba2ac7be7d08430af85b98def3958030d6d7ae Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 17:30:35 +0500 Subject: [PATCH 049/122] fix --- test/AdvancedOrderEngine.t.sol | 1 - 1 file changed, 1 deletion(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index f64225f..4632943 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -896,7 +896,6 @@ contract AdvancedOrderEngineTest is Test { signatures[0] = sellOrderSignature; signatures[1] = buyOrderSignature; - vm.expectRevert(PredicateIsNotTrue.selector); advancedOrderEngine.fillOrders( orders, sell, From 65ae0c62f96bca860123f8e10177f85ae576487d Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 27 Nov 2023 19:05:28 +0500 Subject: [PATCH 050/122] drain test --- test/AdvancedOrderEngine.t.sol | 179 ++++++++++++++++++++++++++++++++- test/interfaces/quoter.sol | 13 +++ test/interfaces/weth9.sol | 4 +- 3 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 test/interfaces/quoter.sol diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 4632943..3789a27 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -11,6 +11,7 @@ import "./../src/Helper/GenerateCalldata.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; import "./interfaces/pricefeed.sol"; +import "./interfaces/quoter.sol"; import "openzeppelin/token/ERC20/IERC20.sol"; import "openzeppelin/utils/cryptography/ECDSA.sol"; @@ -20,9 +21,10 @@ contract AdvancedOrderEngineTest is Test { GenerateCalldata generateCalldata; IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); - IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + IWETH9 weth = IWETH9(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); IPriceFeed usdc_eth = IPriceFeed(0x986b5E1e1755e3C2440e960477f25201B0a8bbD4); + IQuoter qouter = IQuoter(0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6); address zeroAddress = address(0); address feeCollector = address(147578); address admin = address(3); @@ -87,7 +89,7 @@ contract AdvancedOrderEngineTest is Test { weth.approve(address(advancedOrderEngine), UINT256_MAX); // get weth - IWETH9(address(weth)).deposit{value: 1 ether}(); + weth.deposit{value: 1 ether}(); vm.stopPrank(); } @@ -845,7 +847,10 @@ contract AdvancedOrderEngineTest is Test { } function testPredicate() public { - + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) @@ -907,6 +912,174 @@ contract AdvancedOrderEngineTest is Test { ); vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); + assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + } + + function testDrain() public { + vm.deal(address(advancedOrderEngine), 2 ether); + vm.prank(address(advancedOrderEngine)); + weth.deposit{value: 1 ether}(); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + bytes memory data = abi.encodeWithSelector( + usdc.transfer.selector, + address(33), + 1 ether + ); + + orders[0].preInteraction = abi.encodePacked( + address(advancedOrderEngine), + data + ); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(InvalidInteractionTarget.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testSingleOrder() public { + // uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + // uint beforeWethMaker2 = weth.balanceOf(maker2); + // uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + // uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + OrderEngine.Order[] memory orders; + uint256[] memory sell; + uint256[] memory buy; + bytes[] memory signatures; + bytes memory facilitatorInteraction; + IERC20[] memory borrowedTokens; + uint256[] memory borrowedAmounts; + OrderEngine.Order memory sellOrder = getDummySellOrder(); + + uint amountIn = qouter.quoteExactOutputSingle( + address(usdc), + address(weth), + 500, + sellOrder.sellTokenAmount, + 0 + ); + + bytes memory data = bytes.concat( + abi.encodePacked(swapRouter02), + abi.encodeWithSelector( + swapRouter02.exactInputSingle.selector, + ISwapRouter02.ExactInputSingleParams ( + address(usdc), + address(weth), + 500, + maker1, + amountIn, + 0, + 0 + ) + ) + ); + // abi.encodePacked( + // address(swapRouter02), + // abi.encodeWithSelector( + // swapRouter02.exactInputSingle.selector, + // ISwapRouter02.ExactInputSingleParams ( + // address(usdc), + // address(weth), + // 500, + // maker1, + // amountIn, + // 0, + // 0 + // ) + // ) + // ); + + sellOrder.preInteraction = data; + sellOrder.buyTokenAmount = amountIn; + + orders = new OrderEngine.Order[](1); + + orders[0] = sellOrder; + + sell = new uint256[](1); + + sell[0] = sellOrder.sellTokenAmount; + + buy = new uint256[](1); + + buy[0] = amountIn; + + signatures = new bytes[](1); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + // uint afterUsdcMaker2 = usdc.balanceOf(maker2); + // uint afterWethMaker2 = weth.balanceOf(maker2); + // uint afterUsdcMaker1 = usdc.balanceOf(maker1); + // uint afterWethMaker1 = weth.balanceOf(maker1); + + // assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); + // assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); + // assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); + // assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { diff --git a/test/interfaces/quoter.sol b/test/interfaces/quoter.sol new file mode 100644 index 0000000..30399fd --- /dev/null +++ b/test/interfaces/quoter.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: MIT + +pragma solidity 0.8.21; + +interface IQuoter { + function quoteExactOutputSingle( + address tokenIn, + address tokenOut, + uint24 fee, + uint256 amountOut, + uint160 sqrtPriceLimitX96 + ) external payable returns(uint256); +} \ No newline at end of file diff --git a/test/interfaces/weth9.sol b/test/interfaces/weth9.sol index 05fb329..80f39b9 100644 --- a/test/interfaces/weth9.sol +++ b/test/interfaces/weth9.sol @@ -2,7 +2,9 @@ pragma solidity 0.8.21; -interface IWETH9 { +import "openzeppelin-contracts/contracts/interfaces/IERC20.sol"; + +interface IWETH9 is IERC20 { function deposit() external payable; function withdraw(uint wad) external; } \ No newline at end of file From 09f180105c1023f50f36233bdd82a472e813659b Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Tue, 28 Nov 2023 11:21:45 +0500 Subject: [PATCH 051/122] cleanup --- test/AdvancedOrderEngine.t.sol | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 3789a27..154911b 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -1002,8 +1002,8 @@ contract AdvancedOrderEngineTest is Test { 0 ); - bytes memory data = bytes.concat( - abi.encodePacked(swapRouter02), + bytes memory data = abi.encodePacked( + address(swapRouter02), abi.encodeWithSelector( swapRouter02.exactInputSingle.selector, ISwapRouter02.ExactInputSingleParams ( @@ -1017,21 +1017,8 @@ contract AdvancedOrderEngineTest is Test { ) ) ); - // abi.encodePacked( - // address(swapRouter02), - // abi.encodeWithSelector( - // swapRouter02.exactInputSingle.selector, - // ISwapRouter02.ExactInputSingleParams ( - // address(usdc), - // address(weth), - // 500, - // maker1, - // amountIn, - // 0, - // 0 - // ) - // ) - // ); + + console2.logBytes(data); sellOrder.preInteraction = data; sellOrder.buyTokenAmount = amountIn; From e3deda11b88cb01018bce74d14dc9d2a86074ec2 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Tue, 28 Nov 2023 12:48:15 +0500 Subject: [PATCH 052/122] Asymetric order (invariant-contract holds balance) --- test/AdvancedOrderEngine.t.sol | 374 ++++++++++++++++++++++++++------- 1 file changed, 294 insertions(+), 80 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 154911b..386eea0 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -28,10 +28,12 @@ contract AdvancedOrderEngineTest is Test { address zeroAddress = address(0); address feeCollector = address(147578); address admin = address(3); - uint256 maker1PrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract + uint256 maker1PrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; address maker1 = vm.addr(maker1PrivateKey); - uint256 maker2PrivateKey = 0xac0974bec39a17e36ba4a6b4d233ff944bacb478cbed5efcae784d7bf4f2ff80; //also owner of contract + uint256 maker2PrivateKey = 0xac0974bec39a17e36ba4a6b4d233ff944bacb478cbed5efcae784d7bf4f2ff80; address maker2 = vm.addr(maker2PrivateKey); + uint256 maker3PrivateKey = 0xac0974bec38a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; + address maker3 = vm.addr(maker3PrivateKey); uint256 operatorPrivateKey = 0xB0B; address operator = vm.addr(operatorPrivateKey); @@ -58,6 +60,7 @@ contract AdvancedOrderEngineTest is Test { vm.deal(maker1, 20 ether); vm.deal(maker2, 20 ether); + vm.deal(maker3, 20 ether); vm.deal(operator, 20 ether); vm.deal(admin, 20 ether); @@ -65,6 +68,12 @@ contract AdvancedOrderEngineTest is Test { vm.startPrank(maker2); + weth.approve(address(swapRouter02), UINT256_MAX); + weth.approve(address(advancedOrderEngine), UINT256_MAX); + + // get weth + weth.deposit{value: 1 ether}(); + usdc.approve(address(swapRouter02), UINT256_MAX); usdc.approve(address(advancedOrderEngine), UINT256_MAX); @@ -91,6 +100,48 @@ contract AdvancedOrderEngineTest is Test { // get weth weth.deposit{value: 1 ether}(); + usdc.approve(address(swapRouter02), UINT256_MAX); + usdc.approve(address(advancedOrderEngine), UINT256_MAX); + + // get usdc + swapRouter02.exactInputSingle{value: 1 ether}( + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(usdc), + 500, + maker1, + 1 ether, + 0, + 0 + ) + ); + + vm.stopPrank(); + + vm.startPrank(maker3); + + weth.approve(address(swapRouter02), UINT256_MAX); + weth.approve(address(advancedOrderEngine), UINT256_MAX); + + // get weth + weth.deposit{value: 1 ether}(); + + usdc.approve(address(swapRouter02), UINT256_MAX); + usdc.approve(address(advancedOrderEngine), UINT256_MAX); + + // get usdc + swapRouter02.exactInputSingle{value: 1 ether}( + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(usdc), + 500, + maker3, + 1 ether, + 0, + 0 + ) + ); + vm.stopPrank(); } @@ -977,74 +1028,28 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } - function testSingleOrder() public { - // uint beforeUsdcMaker2 = usdc.balanceOf(maker2); - // uint beforeWethMaker2 = weth.balanceOf(maker2); - // uint beforeUsdcMaker1 = usdc.balanceOf(maker1); - // uint beforeWethMaker1 = weth.balanceOf(maker1); + function testAsymetricFillOrders() public { + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeWethMaker3 = weth.balanceOf(maker3); vm.startPrank(operator); - OrderEngine.Order[] memory orders; - uint256[] memory sell; - uint256[] memory buy; - bytes[] memory signatures; - bytes memory facilitatorInteraction; - IERC20[] memory borrowedTokens; - uint256[] memory borrowedAmounts; - OrderEngine.Order memory sellOrder = getDummySellOrder(); - - uint amountIn = qouter.quoteExactOutputSingle( - address(usdc), - address(weth), - 500, - sellOrder.sellTokenAmount, - 0 - ); - - bytes memory data = abi.encodePacked( - address(swapRouter02), - abi.encodeWithSelector( - swapRouter02.exactInputSingle.selector, - ISwapRouter02.ExactInputSingleParams ( - address(usdc), - address(weth), - 500, - maker1, - amountIn, - 0, - 0 - ) - ) - ); - - console2.logBytes(data); - - sellOrder.preInteraction = data; - sellOrder.buyTokenAmount = amountIn; - - orders = new OrderEngine.Order[](1); - - orders[0] = sellOrder; - - sell = new uint256[](1); - - sell[0] = sellOrder.sellTokenAmount; - - buy = new uint256[](1); - - buy[0] = amountIn; - - signatures = new bytes[](1); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - - signatures[0] = sellOrderSignature; - - facilitatorInteraction = "0x"; - borrowedAmounts = new uint256[](0); - borrowedTokens = new IERC20[](0); + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput1(); advancedOrderEngine.fillOrders( orders, @@ -1058,18 +1063,122 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); - // uint afterUsdcMaker2 = usdc.balanceOf(maker2); - // uint afterWethMaker2 = weth.balanceOf(maker2); - // uint afterUsdcMaker1 = usdc.balanceOf(maker1); - // uint afterWethMaker1 = weth.balanceOf(maker1); - - // assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); - // assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); - // assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); - // assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterWethMaker3 = weth.balanceOf(maker3); + + console2.log(beforeUsdcMaker3, afterUsdcMaker3); + console2.log(beforeWethMaker3, afterWethMaker3); + console2.log(beforeUsdcMaker2, afterUsdcMaker2); + console2.log(beforeWethMaker2, afterWethMaker2); + console2.log(beforeUsdcMaker1, afterUsdcMaker1); + console2.log(beforeWethMaker1, afterWethMaker1); + console2.log(usdc.balanceOf(address(advancedOrderEngine))); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount); + assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); } - function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { + // function testSingleOrder() public { + // // uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + // // uint beforeWethMaker2 = weth.balanceOf(maker2); + // // uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + // // uint beforeWethMaker1 = weth.balanceOf(maker1); + + // vm.startPrank(operator); + + // OrderEngine.Order[] memory orders; + // uint256[] memory sell; + // uint256[] memory buy; + // bytes[] memory signatures; + // bytes memory facilitatorInteraction; + // IERC20[] memory borrowedTokens; + // uint256[] memory borrowedAmounts; + // OrderEngine.Order memory sellOrder = getOrder1(); + + // uint amountIn = qouter.quoteExactOutputSingle( + // address(usdc), + // address(weth), + // 500, + // sellOrder.sellTokenAmount, + // 0 + // ); + + // bytes memory data = abi.encodePacked( + // address(swapRouter02), + // abi.encodeWithSelector( + // swapRouter02.exactInputSingle.selector, + // ISwapRouter02.ExactInputSingleParams ( + // address(usdc), + // address(weth), + // 500, + // maker1, + // amountIn, + // 0, + // 0 + // ) + // ) + // ); + + // console2.logBytes(data); + + // sellOrder.preInteraction = data; + // sellOrder.buyTokenAmount = amountIn; + + // orders = new OrderEngine.Order[](1); + + // orders[0] = sellOrder; + + // sell = new uint256[](1); + + // sell[0] = sellOrder.sellTokenAmount; + + // buy = new uint256[](1); + + // buy[0] = amountIn; + + // signatures = new bytes[](1); + + // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + // bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + // signatures[0] = sellOrderSignature; + + // facilitatorInteraction = "0x"; + // borrowedAmounts = new uint256[](0); + // borrowedTokens = new IERC20[](0); + + // advancedOrderEngine.fillOrders( + // orders, + // sell, + // buy, + // signatures, + // facilitatorInteraction, + // borrowedTokens, + // borrowedAmounts + // ); + + // vm.stopPrank(); + + // // uint afterUsdcMaker2 = usdc.balanceOf(maker2); + // // uint afterWethMaker2 = weth.balanceOf(maker2); + // // uint afterUsdcMaker1 = usdc.balanceOf(maker1); + // // uint afterWethMaker1 = weth.balanceOf(maker1); + + // // assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); + // // assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); + // // assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); + // // assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + // } + + function getOrder1() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // nonce value block.timestamp + 3600, // valid till @@ -1089,7 +1198,7 @@ contract AdvancedOrderEngineTest is Test { ); } - function getDummySellOrder() private view returns(OrderEngine.Order memory) { + function getOrder2() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 124, // nonce value block.timestamp + 3600, // valid till @@ -1121,8 +1230,8 @@ contract AdvancedOrderEngineTest is Test { OrderEngine.Order memory sellOrder ) { - buyOrder = getDummyBuyOrder(); - sellOrder = getDummySellOrder(); + buyOrder = getOrder1(); + sellOrder = getOrder2(); orders = new OrderEngine.Order[](2); @@ -1155,6 +1264,111 @@ contract AdvancedOrderEngineTest is Test { borrowedTokens = new IERC20[](0); } + function getStandardInput1() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) { + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 10 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order2 = OrderEngine.Order( + 125, // nonce value + block.timestamp + 3600, // valid till + 11000000, // 11 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker2, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker2, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order3 = OrderEngine.Order( + 126, // nonce value + block.timestamp + 3600, // valid till + 0.0096 ether, // 0.0048 weth - sell token amount + 20000000, // 20 USDC - buy token amount + 0, // fee + maker3, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker3, // Recipient's Ethereum address + weth, // MATIC token address - sell token + usdc, // USDC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orders = new OrderEngine.Order[](3); + + orders[2] = order1; + orders[1] = order2; + orders[0] = order3; + + sell = new uint256[](3); + + sell[2] = order1.sellTokenAmount; + sell[1] = order2.sellTokenAmount; + sell[0] = order3.sellTokenAmount; + + buy = new uint256[](3); + + buy[2] = order1.buyTokenAmount; + buy[1] = order2.buyTokenAmount; + buy[0] = order3.buyTokenAmount; + + signatures = new bytes[](3); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory order2Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); + bytes memory order3Signature = abi.encodePacked(r, s, v); + + signatures[2] = order1Signature; + signatures[1] = order2Signature; + signatures[0] = order3Signature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From 4705f5a45671e3f65d946c96b1b7cc66c35968eb Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Tue, 28 Nov 2023 13:03:18 +0500 Subject: [PATCH 053/122] cancel order tests --- test/AdvancedOrderEngine.t.sol | 92 +++++++++++++++++++++++++++++----- 1 file changed, 80 insertions(+), 12 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 386eea0..80bf943 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -1086,6 +1086,74 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); } + function testCancelOrders() public { + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + ) = getStandardInput(); + + vm.prank(maker1); + advancedOrderEngine.cancelOrder(buyOrder); + + vm.startPrank(operator); + vm.expectRevert(OrderFilledAlready.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testCancelOrdersFail() public { + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + ) = getStandardInput(); + + vm.startPrank(operator); + + vm.expectRevert(AccessDenied.selector); + advancedOrderEngine.cancelOrder(buyOrder); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + + ); + vm.stopPrank(); + + vm.startPrank(maker1); + + vm.expectRevert(OrderFilledAlready.selector); + advancedOrderEngine.cancelOrder(buyOrder); + vm.stopPrank(); + } + // function testSingleOrder() public { // // uint beforeUsdcMaker2 = usdc.balanceOf(maker2); // // uint beforeWethMaker2 = weth.balanceOf(maker2); @@ -1226,34 +1294,34 @@ contract AdvancedOrderEngineTest is Test { bytes memory facilitatorInteraction, IERC20[] memory borrowedTokens, uint256[] memory borrowedAmounts, - OrderEngine.Order memory buyOrder, - OrderEngine.Order memory sellOrder + OrderEngine.Order memory order1, + OrderEngine.Order memory order2 ) { - buyOrder = getOrder1(); - sellOrder = getOrder2(); + order1 = getOrder1(); + order2 = getOrder2(); orders = new OrderEngine.Order[](2); - orders[0] = sellOrder; - orders[1] = buyOrder; + orders[0] = order2; + orders[1] = order1; sell = new uint256[](2); - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; + sell[0] = order2.sellTokenAmount; + sell[1] = order1.sellTokenAmount; buy = new uint256[](2); - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; + buy[0] = order2.buyTokenAmount; + buy[1] = order1.buyTokenAmount; signatures = new bytes[](2); - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); bytes memory buyOrderSignature = abi.encodePacked(r, s, v); signatures[0] = sellOrderSignature; From 6355ae8d374d716ddb3d0007d9491ed02b0c0fba Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Tue, 28 Nov 2023 14:19:08 +0500 Subject: [PATCH 054/122] due to leftover tokens, drain is possible with interactions --- test/AdvancedOrderEngine.t.sol | 58 +++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 80bf943..10247a3 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -1028,6 +1028,62 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } + function testDrainERC20() public { + + uint balanceBefore = usdc.balanceOf(address(33)); + vm.deal(address(advancedOrderEngine), 2 ether); + vm.prank(address(advancedOrderEngine)); + weth.deposit{value: 1 ether}(); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1,, + ) = getStandardInput1(); + + bytes memory data = abi.encodeWithSelector( + usdc.transfer.selector, + address(33), + 1 * 10 ** 6 + ); + + orders[2].preInteraction = abi.encodePacked( + address(usdc), + data + ); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + // (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + // bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[2] = sellOrderSignature; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + uint balanceAfter = usdc.balanceOf(address(33)); + + assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); + + vm.stopPrank(); + } + function testAsymetricFillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); @@ -1214,7 +1270,7 @@ contract AdvancedOrderEngineTest is Test { // signatures = new bytes[](1); - // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); // bytes memory sellOrderSignature = abi.encodePacked(r, s, v); // signatures[0] = sellOrderSignature; From 4c0e0bb28eee4b22e021de7e5c957216573f3f02 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Tue, 28 Nov 2023 22:20:31 +0500 Subject: [PATCH 055/122] pre interacttion --- src/Helper/CallSwap.sol | 49 +++++++ test/AdvancedOrderEngine.t.sol | 247 +++++++++++++++++---------------- 2 files changed, 180 insertions(+), 116 deletions(-) create mode 100644 src/Helper/CallSwap.sol diff --git a/src/Helper/CallSwap.sol b/src/Helper/CallSwap.sol new file mode 100644 index 0000000..f9259c7 --- /dev/null +++ b/src/Helper/CallSwap.sol @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.21; + +import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol"; +import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol"; +import {IPreInteractionNotificationReceiver} from "./../interfaces/IPreInteractionNotificationReceiver.sol"; +import {console2} from "forge-std/Test.sol"; + +contract Swapper is IPreInteractionNotificationReceiver { + using SafeERC20 for IERC20; + IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + address swapRouter2 = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + + event Swapped( + bytes32 orderHash, + address maker, + uint256 executedSellAmount, + uint256 executedBuyAmount, + uint256 filledSellAmount, + bytes interactionData, + bytes result + ); + + function fillOrderPreInteraction( + bytes32 orderHash, + address maker, + uint256 executedSellAmount, + uint256 executedBuyAmount, + uint256 filledSellAmount, + bytes memory interactionData + ) external { + + console2.log("balance: ", weth.balanceOf(address(this))); + weth.approve(swapRouter2, type(uint).max); + (bool success, bytes memory data) = address(swapRouter2).call(interactionData); + require (success); + + + emit Swapped( + orderHash, + maker, + executedSellAmount, + executedBuyAmount, + filledSellAmount, + interactionData, + data + ); + } +} diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 10247a3..e0a73c4 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -8,6 +8,7 @@ import "./../src/AdvancedOrderEngine.sol"; import "./../src/AdvancedOrderEngineErrors.sol"; import "./../src/libraries/OrderEngine.sol"; import "./../src/Helper/GenerateCalldata.sol"; +import "./../src/Helper/CallSwap.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; import "./interfaces/pricefeed.sol"; @@ -19,6 +20,7 @@ contract AdvancedOrderEngineTest is Test { Predicates predicates; AdvancedOrderEngine advancedOrderEngine; GenerateCalldata generateCalldata; + address swapper; IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); IWETH9 weth = IWETH9(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); @@ -44,6 +46,7 @@ contract AdvancedOrderEngineTest is Test { predicates = new Predicates(); generateCalldata = new GenerateCalldata(address(predicates)); advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); + swapper = address(new Swapper()); advancedOrderEngine.manageOperatorPrivilege(operator, true); @@ -1028,61 +1031,61 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } - function testDrainERC20() public { + // function testDrainERC20() public { - uint balanceBefore = usdc.balanceOf(address(33)); - vm.deal(address(advancedOrderEngine), 2 ether); - vm.prank(address(advancedOrderEngine)); - weth.deposit{value: 1 ether}(); - - vm.startPrank(operator); + // uint balanceBefore = usdc.balanceOf(address(33)); + // vm.deal(address(advancedOrderEngine), 2 ether); + // vm.prank(address(advancedOrderEngine)); + // weth.deposit{value: 1 ether}(); - ( - OrderEngine.Order[] memory orders, - uint256[] memory sell, - uint256[] memory buy, - bytes[] memory signatures, - bytes memory facilitatorInteraction, - IERC20[] memory borrowedTokens, - uint256[] memory borrowedAmounts, - OrderEngine.Order memory order1,, - ) = getStandardInput1(); + // vm.startPrank(operator); - bytes memory data = abi.encodeWithSelector( - usdc.transfer.selector, - address(33), - 1 * 10 ** 6 - ); + // ( + // OrderEngine.Order[] memory orders, + // uint256[] memory sell, + // uint256[] memory buy, + // bytes[] memory signatures, + // bytes memory facilitatorInteraction, + // IERC20[] memory borrowedTokens, + // uint256[] memory borrowedAmounts, + // OrderEngine.Order memory order1,, + // ) = getStandardInput1(); + + // bytes memory data = abi.encodeWithSelector( + // usdc.transfer.selector, + // address(33), + // 1 * 10 ** 6 + // ); - orders[2].preInteraction = abi.encodePacked( - address(usdc), - data - ); + // orders[2].preInteraction = abi.encodePacked( + // address(usdc), + // data + // ); - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + // bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - // (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - // bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + // // (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + // // bytes memory buyOrderSignature = abi.encodePacked(r, s, v); - signatures[2] = sellOrderSignature; + // signatures[2] = sellOrderSignature; - advancedOrderEngine.fillOrders( - orders, - sell, - buy, - signatures, - facilitatorInteraction, - borrowedTokens, - borrowedAmounts - ); + // advancedOrderEngine.fillOrders( + // orders, + // sell, + // buy, + // signatures, + // facilitatorInteraction, + // borrowedTokens, + // borrowedAmounts + // ); - uint balanceAfter = usdc.balanceOf(address(33)); + // uint balanceAfter = usdc.balanceOf(address(33)); - assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); + // assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); - vm.stopPrank(); - } + // vm.stopPrank(); + // } function testAsymetricFillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); @@ -1210,97 +1213,109 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } - // function testSingleOrder() public { - // // uint beforeUsdcMaker2 = usdc.balanceOf(maker2); - // // uint beforeWethMaker2 = weth.balanceOf(maker2); - // // uint beforeUsdcMaker1 = usdc.balanceOf(maker1); - // // uint beforeWethMaker1 = weth.balanceOf(maker1); - - // vm.startPrank(operator); + function testSingleOrder() public { + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); - // OrderEngine.Order[] memory orders; - // uint256[] memory sell; - // uint256[] memory buy; - // bytes[] memory signatures; - // bytes memory facilitatorInteraction; - // IERC20[] memory borrowedTokens; - // uint256[] memory borrowedAmounts; - // OrderEngine.Order memory sellOrder = getOrder1(); + OrderEngine.Order[] memory orders; + uint256[] memory sell; + uint256[] memory buy; + bytes[] memory signatures; + bytes memory facilitatorInteraction; + IERC20[] memory borrowedTokens; + uint256[] memory borrowedAmounts; + OrderEngine.Order memory sellOrder = OrderEngine.Order( + 123, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 10 USDC - sell amount + 10000000, // 10 USDC - sell amount + // 4800000000000000, // 0.0048 weth - buy token + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - buy token + usdc, // USDC token address - buy token + // weth, // MATIC token address - sell token + true, // is partially fillable + "0x", // facilitator call data + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); - // uint amountIn = qouter.quoteExactOutputSingle( - // address(usdc), - // address(weth), - // 500, - // sellOrder.sellTokenAmount, - // 0 - // ); + uint amountIn = qouter.quoteExactOutputSingle( + address(weth), + address(usdc), + 500, + sellOrder.buyTokenAmount, + 0 + ); - // bytes memory data = abi.encodePacked( - // address(swapRouter02), - // abi.encodeWithSelector( - // swapRouter02.exactInputSingle.selector, - // ISwapRouter02.ExactInputSingleParams ( - // address(usdc), - // address(weth), - // 500, - // maker1, - // amountIn, - // 0, - // 0 - // ) - // ) - // ); + vm.prank(maker1); + weth.transfer(swapper, amountIn); - // console2.logBytes(data); + bytes memory data = abi.encodePacked( + swapper, + abi.encodeWithSelector( + swapRouter02.exactInputSingle.selector, + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(usdc), + 500, + maker1, + amountIn, + sellOrder.buyTokenAmount, + 0 + ) + ) + ); - // sellOrder.preInteraction = data; - // sellOrder.buyTokenAmount = amountIn; + sellOrder.preInteraction = data; + // sellOrder.sellTokenAmount = amountIn; - // orders = new OrderEngine.Order[](1); + orders = new OrderEngine.Order[](1); - // orders[0] = sellOrder; + orders[0] = sellOrder; - // sell = new uint256[](1); + sell = new uint256[](1); - // sell[0] = sellOrder.sellTokenAmount; + sell[0] = sellOrder.sellTokenAmount; - // buy = new uint256[](1); + buy = new uint256[](1); - // buy[0] = amountIn; + buy[0] = sellOrder.buyTokenAmount; - // signatures = new bytes[](1); + signatures = new bytes[](1); - // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - // bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - // signatures[0] = sellOrderSignature; + signatures[0] = sellOrderSignature; - // facilitatorInteraction = "0x"; - // borrowedAmounts = new uint256[](0); - // borrowedTokens = new IERC20[](0); + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); - // advancedOrderEngine.fillOrders( - // orders, - // sell, - // buy, - // signatures, - // facilitatorInteraction, - // borrowedTokens, - // borrowedAmounts - // ); + vm.startPrank(operator); - // vm.stopPrank(); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); - // // uint afterUsdcMaker2 = usdc.balanceOf(maker2); - // // uint afterWethMaker2 = weth.balanceOf(maker2); - // // uint afterUsdcMaker1 = usdc.balanceOf(maker1); - // // uint afterWethMaker1 = weth.balanceOf(maker1); + vm.stopPrank(); - // // assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); - // // assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); - // // assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); - // // assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); - // } + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + assertEq(beforeUsdcMaker1 + sellOrder.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + amountIn); + } function getOrder1() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( From 88585a659a8034d055b8fe0078ffc675725ba9bb Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 18:54:53 +0500 Subject: [PATCH 056/122] drain test fix --- test/AdvancedOrderEngine.t.sol | 166 +++++++++++++++++++++++---------- 1 file changed, 115 insertions(+), 51 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index e0a73c4..0a91222 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -146,6 +146,32 @@ contract AdvancedOrderEngineTest is Test { ); vm.stopPrank(); + + vm.startPrank(operator); + + weth.approve(address(swapRouter02), UINT256_MAX); + weth.approve(address(advancedOrderEngine), UINT256_MAX); + + // get weth + weth.deposit{value: 1 ether}(); + + usdc.approve(address(swapRouter02), UINT256_MAX); + usdc.approve(address(advancedOrderEngine), UINT256_MAX); + + // get usdc + swapRouter02.exactInputSingle{value: 1 ether}( + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(usdc), + 500, + operator, + 1 ether, + 0, + 0 + ) + ); + + vm.stopPrank(); } function testOperatorPriviledge() public { @@ -1031,61 +1057,99 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } - // function testDrainERC20() public { + function testDrainERC20() public { - // uint balanceBefore = usdc.balanceOf(address(33)); - // vm.deal(address(advancedOrderEngine), 2 ether); - // vm.prank(address(advancedOrderEngine)); - // weth.deposit{value: 1 ether}(); + uint balanceBefore = usdc.balanceOf(operator); - // vm.startPrank(operator); + vm.startPrank(operator); - // ( - // OrderEngine.Order[] memory orders, - // uint256[] memory sell, - // uint256[] memory buy, - // bytes[] memory signatures, - // bytes memory facilitatorInteraction, - // IERC20[] memory borrowedTokens, - // uint256[] memory borrowedAmounts, - // OrderEngine.Order memory order1,, - // ) = getStandardInput1(); + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput1(); - // bytes memory data = abi.encodeWithSelector( - // usdc.transfer.selector, - // address(33), - // 1 * 10 ** 6 - // ); + OrderEngine.Order memory order4 = OrderEngine.Order( + 127, // nonce value + block.timestamp + 3600, // valid till + 1000000, // 1 USDC - sell token amount + 2000000, // 0.0048 weth - buy token amount + 0, // fee + operator, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + operator, // Recipient's Ethereum address + usdc, // USDC token address - sell token + usdc, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); - // orders[2].preInteraction = abi.encodePacked( - // address(usdc), - // data - // ); + orders = new OrderEngine.Order[](4); - // (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); - // bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + orders[0] = order3; + orders[1] = order2; + orders[2] = order1; + orders[3] = order4; - // // (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - // // bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + sell = new uint256[](4); - // signatures[2] = sellOrderSignature; + sell[0] = order3.sellTokenAmount; + sell[1] = order2.sellTokenAmount; + sell[2] = order1.sellTokenAmount; + sell[3] = order4.sellTokenAmount; + + buy = new uint256[](4); - // advancedOrderEngine.fillOrders( - // orders, - // sell, - // buy, - // signatures, - // facilitatorInteraction, - // borrowedTokens, - // borrowedAmounts - // ); + buy[0] = order3.buyTokenAmount; + buy[1] = order2.buyTokenAmount; + buy[2] = order1.buyTokenAmount; + buy[3] = order4.buyTokenAmount; + + signatures = new bytes[](4); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory order2Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); + bytes memory order3Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(operatorPrivateKey, _hashTypedDataV4(OrderEngine.hash(order4))); + bytes memory order4Signature = abi.encodePacked(r, s, v); + + signatures[0] = order3Signature; + signatures[1] = order2Signature; + signatures[2] = order1Signature; + signatures[3] = order4Signature; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); - // uint balanceAfter = usdc.balanceOf(address(33)); + uint balanceAfter = usdc.balanceOf(operator); - // assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); + assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); - // vm.stopPrank(); - // } + vm.stopPrank(); + } function testAsymetricFillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); @@ -1472,21 +1536,21 @@ contract AdvancedOrderEngineTest is Test { orders = new OrderEngine.Order[](3); - orders[2] = order1; - orders[1] = order2; orders[0] = order3; + orders[1] = order2; + orders[2] = order1; sell = new uint256[](3); - sell[2] = order1.sellTokenAmount; - sell[1] = order2.sellTokenAmount; sell[0] = order3.sellTokenAmount; + sell[1] = order2.sellTokenAmount; + sell[2] = order1.sellTokenAmount; buy = new uint256[](3); - buy[2] = order1.buyTokenAmount; - buy[1] = order2.buyTokenAmount; buy[0] = order3.buyTokenAmount; + buy[1] = order2.buyTokenAmount; + buy[2] = order1.buyTokenAmount; signatures = new bytes[](3); @@ -1499,9 +1563,9 @@ contract AdvancedOrderEngineTest is Test { (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); bytes memory order3Signature = abi.encodePacked(r, s, v); - signatures[2] = order1Signature; - signatures[1] = order2Signature; signatures[0] = order3Signature; + signatures[1] = order2Signature; + signatures[2] = order1Signature; facilitatorInteraction = "0x"; borrowedAmounts = new uint256[](0); From ec2db9398abb5fa8a2153f43bdcc055b2b254dd2 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 19:49:23 +0500 Subject: [PATCH 057/122] Test Facilatator Interaction Borrowed Amounts --- src/{Helper => Mocks}/CallSwap.sol | 0 src/Mocks/CallTransfer.sol | 56 +++++++++++++++++++++++ test/AdvancedOrderEngine.t.sol | 73 +++++++++++++++++++++++++++--- 3 files changed, 122 insertions(+), 7 deletions(-) rename src/{Helper => Mocks}/CallSwap.sol (100%) create mode 100644 src/Mocks/CallTransfer.sol diff --git a/src/Helper/CallSwap.sol b/src/Mocks/CallSwap.sol similarity index 100% rename from src/Helper/CallSwap.sol rename to src/Mocks/CallSwap.sol diff --git a/src/Mocks/CallTransfer.sol b/src/Mocks/CallTransfer.sol new file mode 100644 index 0000000..976ee2e --- /dev/null +++ b/src/Mocks/CallTransfer.sol @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.21; + +import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol"; +import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol"; +import {OrderEngine} from "./../libraries/OrderEngine.sol"; +import {IFacilitatorInteractionNotificationReceiver} from "./../interfaces/IFacilitatorInteractionNotificationReceiver.sol"; +import {console2} from "forge-std/Test.sol"; + +contract Helper is IFacilitatorInteractionNotificationReceiver { + using SafeERC20 for IERC20; + IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + address operator = 0x0376AAc07Ad725E01357B1725B5ceC61aE10473c; + + event Swapped( + bytes32 orderHash, + address maker, + address executedSellAmount, + uint256 executedBuyAmount, + bytes interactionData, + bytes result + ); + + function fillOrderInteraction( + OrderEngine.Order[] calldata orders, + uint256[] calldata, + uint256[] calldata, + IERC20[] calldata borrowedTokens, + uint256[] calldata borrowedAmounts, + bytes memory interactionData + ) external { + + for (uint i = 0; i < borrowedTokens.length; i++) { + + interactionData = abi.encodeWithSelector( + weth.transfer.selector, + operator, + borrowedAmounts[i] + ); + + (bool success, bytes memory data) = address(borrowedTokens[i]).call(interactionData); + require (success); + + emit Swapped( + OrderEngine.hash(orders[i]), + orders[i].maker, + address(borrowedTokens[i]), + borrowedAmounts[i], + interactionData, + data + ); + } + + + } +} diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 0a91222..0ace85e 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -9,6 +9,7 @@ import "./../src/AdvancedOrderEngineErrors.sol"; import "./../src/libraries/OrderEngine.sol"; import "./../src/Helper/GenerateCalldata.sol"; import "./../src/Helper/CallSwap.sol"; +import "./../src/Helper/CallTransfer.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; import "./interfaces/pricefeed.sol"; @@ -20,6 +21,7 @@ contract AdvancedOrderEngineTest is Test { Predicates predicates; AdvancedOrderEngine advancedOrderEngine; GenerateCalldata generateCalldata; + address helper; address swapper; IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); @@ -47,6 +49,7 @@ contract AdvancedOrderEngineTest is Test { generateCalldata = new GenerateCalldata(address(predicates)); advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); swapper = address(new Swapper()); + helper = address(new Helper()); advancedOrderEngine.manageOperatorPrivilege(operator, true); @@ -1193,13 +1196,65 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker3 = usdc.balanceOf(maker3); uint afterWethMaker3 = weth.balanceOf(maker3); - console2.log(beforeUsdcMaker3, afterUsdcMaker3); - console2.log(beforeWethMaker3, afterWethMaker3); - console2.log(beforeUsdcMaker2, afterUsdcMaker2); - console2.log(beforeWethMaker2, afterWethMaker2); - console2.log(beforeUsdcMaker1, afterUsdcMaker1); - console2.log(beforeWethMaker1, afterWethMaker1); - console2.log(usdc.balanceOf(address(advancedOrderEngine))); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount); + assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); + } + + function testFacilatatorBorrowedAmounts() public { + + uint balanceBefore = usdc.balanceOf(operator); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeWethMaker3 = weth.balanceOf(maker3); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput1(); + + facilitatorInteraction = abi.encodePacked( + helper + ); + borrowedAmounts = new uint256[](1); + borrowedAmounts[0] = 1000000; + borrowedTokens = new IERC20[](1); + borrowedTokens[0] = usdc; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterWethMaker3 = weth.balanceOf(maker3); assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount); assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); @@ -1207,6 +1262,10 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); + + uint balanceAfter = usdc.balanceOf(operator); + + assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); } function testCancelOrders() public { From 7ec61098e392874e63b79027e67564efe1f8122f Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 19:52:28 +0500 Subject: [PATCH 058/122] import fix --- src/Mocks/CallSwap.sol | 2 +- test/AdvancedOrderEngine.t.sol | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Mocks/CallSwap.sol b/src/Mocks/CallSwap.sol index f9259c7..af271ba 100644 --- a/src/Mocks/CallSwap.sol +++ b/src/Mocks/CallSwap.sol @@ -30,7 +30,7 @@ contract Swapper is IPreInteractionNotificationReceiver { bytes memory interactionData ) external { - console2.log("balance: ", weth.balanceOf(address(this))); + // console2.log("balance: ", weth.balanceOf(address(this))); weth.approve(swapRouter2, type(uint).max); (bool success, bytes memory data) = address(swapRouter2).call(interactionData); require (success); diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 0ace85e..c24796e 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -8,8 +8,8 @@ import "./../src/AdvancedOrderEngine.sol"; import "./../src/AdvancedOrderEngineErrors.sol"; import "./../src/libraries/OrderEngine.sol"; import "./../src/Helper/GenerateCalldata.sol"; -import "./../src/Helper/CallSwap.sol"; -import "./../src/Helper/CallTransfer.sol"; +import "./../src/Mocks/CallSwap.sol"; +import "./../src/Mocks/CallTransfer.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; import "./interfaces/pricefeed.sol"; From e2ea3697637ac361d1b76ac14de96bbf0770d728 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 20:28:19 +0500 Subject: [PATCH 059/122] asymetric order with 1 SO fill or kill & 1 partial --- test/AdvancedOrderEngine.t.sol | 157 ++++++++++++++++++++++++++++++++- 1 file changed, 156 insertions(+), 1 deletion(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index c24796e..814bf40 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -1154,7 +1154,7 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } - function testAsymetricFillOrders() public { + function testAsymetricFillOrKillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); uint beforeUsdcMaker1 = usdc.balanceOf(maker1); @@ -1204,6 +1204,56 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); } + function testAsymetricPartiallyFillOrders() public { + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeWethMaker3 = weth.balanceOf(maker3); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput2(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterWethMaker3 = weth.balanceOf(maker3); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount / 2); + assertEq(beforeWethMaker2 + order2.buyTokenAmount / 2, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount); + } + function testFacilatatorBorrowedAmounts() public { uint balanceBefore = usdc.balanceOf(operator); @@ -1631,6 +1681,111 @@ contract AdvancedOrderEngineTest is Test { borrowedTokens = new IERC20[](0); } + function getStandardInput2() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) { + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 10 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order2 = OrderEngine.Order( + 125, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 11 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker2, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker2, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + true, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order3 = OrderEngine.Order( + 126, // nonce value + block.timestamp + 3600, // valid till + 0.0072 ether, // 0.0048 weth - sell token amount + 15000000, // 20 USDC - buy token amount + 0, // fee + maker3, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker3, // Recipient's Ethereum address + weth, // MATIC token address - sell token + usdc, // USDC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orders = new OrderEngine.Order[](3); + + orders[0] = order3; + orders[1] = order2; + orders[2] = order1; + + sell = new uint256[](3); + + sell[0] = order3.sellTokenAmount; + sell[1] = order2.sellTokenAmount / 2; + sell[2] = order1.sellTokenAmount; + + buy = new uint256[](3); + + buy[0] = order3.buyTokenAmount; + buy[1] = order2.buyTokenAmount / 2; + buy[2] = order1.buyTokenAmount; + + signatures = new bytes[](3); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory order2Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); + bytes memory order3Signature = abi.encodePacked(r, s, v); + + signatures[0] = order3Signature; + signatures[1] = order2Signature; + signatures[2] = order1Signature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From ef32619fb0a02781f77ac005456a7311e1667e9e Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 20:55:58 +0500 Subject: [PATCH 060/122] fill partial order in chunks --- test/AdvancedOrderEngine.t.sol | 64 ++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 814bf40..0c0939b 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -343,6 +343,70 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } + function testFillOrderInChunks() public { + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2 + ) = getStandardInput(); + + sell = new uint256[](2); + + sell[0] = order2.sellTokenAmount / 2; + sell[1] = order1.sellTokenAmount / 2; + + buy = new uint256[](2); + + buy[0] = order2.buyTokenAmount / 2; + buy[1] = order1.buyTokenAmount / 2; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount); + assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1 + order1.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + order1.sellTokenAmount); + } + function testNoOrderInputFillOrders() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); From fb3c1b6a9514efe39425eeaec5fa3171e614b34d Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 22:56:55 +0500 Subject: [PATCH 061/122] OR & AND Predicate Tests --- test/AdvancedOrderEngine.t.sol | 715 +++++++++++++++++++++++++++++++++ 1 file changed, 715 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 0c0939b..213f68e 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -993,6 +993,721 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } + function testMultiplePredicateOR() public { + + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength + gtCalldataLength), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "or(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); + assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + } + + + function testMultiplePredicateOR1() public { + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory ltFnCalldata1 = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength1 = bytes(ltFnCalldata1).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength + ltCalldataLength1), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(ltFnCalldata1) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "or(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testMultiplePredicateORFail() public { + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory gtFnCalldata1 = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength1 = bytes(gtFnCalldata1).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(gtCalldataLength1 + gtCalldataLength), uint32(gtCalldataLength1)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(gtFnCalldata1), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "or(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(PredicateIsNotTrue.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testMultiplePredicateANDFail() public { + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength + gtCalldataLength), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "and(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(PredicateIsNotTrue.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testMultiplePredicateANDFail1() public { + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory gtFnCalldata1 = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength1 = bytes(gtFnCalldata1).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory gtFnCalldata = abi.encodeWithSignature( + "gt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 gtCalldataLength = bytes(gtFnCalldata).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(gtCalldataLength1 + gtCalldataLength), uint32(gtCalldataLength1)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(gtFnCalldata1), + bytes(gtFnCalldata) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "and(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + vm.expectRevert(PredicateIsNotTrue.selector); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + + function testMultiplePredicateAND() public { + + // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. + // Predicate: gt(constraint(99999 * 10 ** 18), arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Step 1: Generate calldata to send to our target contract + bytes memory targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); // 'callDataToSendToTargetAddress' + + // Step 2: Generate predicates contract "arbitrary static call" function calldata + bytes memory arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 3: Generate predicates contract "lt" function calldata + bytes memory ltFnCalldata = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); // lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength = bytes(ltFnCalldata).length; + // console.log("LT Calldata length1 ", ltCalldataLength); + + // Step 4: Generate calldata to send to our target contract (for GT) + targetContractCalldata = abi.encodeWithSelector( + usdc_eth.latestAnswer.selector + ); + + // Step 5: Generate predicates contract "arbitrary static call" function calldata (for GT) + arbitraryStaticCalldata = abi.encodeWithSignature( + "arbitraryStaticCall(address,bytes)", + address(usdc_eth), + targetContractCalldata + ); // arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress) + + // Step 6: Generate predicates contract "gt" function calldata + // 18 > 5 + bytes memory ltFnCalldata1 = abi.encodeWithSignature( + "lt(uint256,bytes)", + _oraclePrice(), + arbitraryStaticCalldata + ); + + // Helpful in generating bytes offset (see below) + uint256 ltCalldataLength1 = bytes(ltFnCalldata1).length; + // console.log("GT Calldata length ", gtCalldataLength); + + // Step 7: generate 'offset' param value of 'or' fn of predicates contract + + // Generationg offset, required by 'or' fn of predicates contract + // We have two predicates, length of both predicates in 260, so first predicate offset would be 260 and second would be "firstPredicateLength + 260 = 520" + bytes memory offsetBytes = abi.encodePacked(uint32(ltCalldataLength + ltCalldataLength1), uint32(ltCalldataLength)); + + // 'or' fn expects offset in uint256, so padding 0s + for (uint256 i = (32 - offsetBytes.length) / 4; i > 0; i--) { + offsetBytes = abi.encodePacked(uint32(0), offsetBytes); + } + uint256 offset = uint256(bytes32(offsetBytes)); + + // Step 8: combine both 'lt' and 'gt' predicates + bytes memory jointPredicates = abi.encodePacked( + bytes(ltFnCalldata), + bytes(ltFnCalldata1) + ); + + // Step 9: Generating 'or' fn calldata + bytes memory orFnCalldata = abi.encodeWithSignature( + "and(uint256,bytes)", + offset, + jointPredicates + ); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory buyOrder, + OrderEngine.Order memory sellOrder + ) = getStandardInput(); + + orders[0].predicateCalldata = orFnCalldata; + orders[1].predicateCalldata = orFnCalldata; + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function testPredicate() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); From c5fd4f708640d3afcfd57bbe23589562a07b0353 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 29 Nov 2023 22:59:51 +0500 Subject: [PATCH 062/122] cleanup --- src/Helper/GenerateCalldata.sol | 22 ++++++++-------------- test/AdvancedOrderEngine.t.sol | 9 +-------- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/src/Helper/GenerateCalldata.sol b/src/Helper/GenerateCalldata.sol index a79a2ed..3a1fb7d 100644 --- a/src/Helper/GenerateCalldata.sol +++ b/src/Helper/GenerateCalldata.sol @@ -13,7 +13,7 @@ contract GenerateCalldata { targetContract = _targetContract; } -function generateCalldata1() public view returns (bytes memory) { + function generateCalldata1() public view returns (bytes memory) { // English: Only allow order execution if the return value from an arbitrary call is less than 15. // Predicate: lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) @@ -39,7 +39,7 @@ function generateCalldata1() public view returns (bytes memory) { return ltFnCalldata; } -function generateCalldata2() public view returns (bytes memory) { + function generateCalldata2() public view returns (bytes memory) { // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. // First, check if it's less than 15. If it isn't, then check if it's greater than 5. Allow order execution if either condition is true; disallow otherwise. // Predicate: or(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(5, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) @@ -118,8 +118,7 @@ function generateCalldata2() public view returns (bytes memory) { return orFnCalldata; } - -function generateCalldataAnd_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { + function generateCalldataAnd_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. // First, check if it's less than 15. If it isn't, then check if it's greater than 10. Allow order execution if either condition is true; disallow otherwise. // Predicate: and(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(10, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) @@ -202,7 +201,7 @@ function generateCalldataAnd_lt_gt(uint256 value_1, uint256 target_value_1, uint return orFnCalldata; } - function generateCalldataOr_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { + function generateCalldataOr_lt_gt(uint256 value_1, uint256 target_value_1, uint256 value_2, uint256 target_value_2) public view returns (bytes memory) { // English: Allow order execution if the return value from an arbitrary call is either less than 15 or greater than 5. // First, check if it's less than 15. If it isn't, then check if it's greater than 10. Allow order execution if either condition is true; disallow otherwise. // Predicate: and(lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)), gt(10, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress))) @@ -283,11 +282,9 @@ function generateCalldataAnd_lt_gt(uint256 value_1, uint256 target_value_1, uint jointPredicates ); return orFnCalldata; -} - -function generateCalldataNot() public view returns (bytes memory) { + } - + function generateCalldataNot() public view returns (bytes memory) { bytes memory targetContractCalldata = abi.encodeWithSignature( "dummyBool()" @@ -304,10 +301,7 @@ function generateCalldataNot() public view returns (bytes memory) { return notFnCalldata; } - - - -function generateCalldatadynamic(string memory operation, uint256 x,uint256 y) public view returns (bytes memory) { + function generateCalldatadynamic(string memory operation, uint256 x,uint256 y) public view returns (bytes memory) { // English: Only allow order execution if the return value from an arbitrary call is less than 15. // Predicate: lt(15, arbitraryStaticCall(targetAddress, callDataToSendToTargetAddress)) @@ -336,5 +330,5 @@ function generateCalldatadynamic(string memory operation, uint256 x,uint256 y) p } else { revert("Unsupported operation"); } -} + } } diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 213f68e..c4fcfe3 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -1124,7 +1124,6 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } - function testMultiplePredicateOR1() public { // English: Only allow order execution if the return value from an arbitrary call is greater than some contraint. @@ -2572,10 +2571,4 @@ contract AdvancedOrderEngineTest is Test { function _oraclePrice() internal view virtual returns (uint256) { return 99999 ether; } - -} - -/** Predicates selectors - * and = 0x616e6400 - * or = 0x6f720000 - */ \ No newline at end of file +} \ No newline at end of file From 8923a08a7831f2bdbe35062f94d5d721cd00cfd6 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 30 Nov 2023 12:52:14 +0500 Subject: [PATCH 063/122] settle single order using facilitator interaction --- src/Mocks/FacilitatorSwap.sol | 45 +++++++++++++ test/AdvancedOrderEngine.t.sol | 119 +++++++++++++++++++++++++++++++++ test/interfaces/quoter.sol | 8 +++ 3 files changed, 172 insertions(+) create mode 100644 src/Mocks/FacilitatorSwap.sol diff --git a/src/Mocks/FacilitatorSwap.sol b/src/Mocks/FacilitatorSwap.sol new file mode 100644 index 0000000..69d7fb9 --- /dev/null +++ b/src/Mocks/FacilitatorSwap.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.21; + +import {SafeERC20} from "openzeppelin/token/ERC20/utils/SafeERC20.sol"; +import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol"; +import {OrderEngine} from "./../libraries/OrderEngine.sol"; +import {IFacilitatorInteractionNotificationReceiver} from "./../interfaces/IFacilitatorInteractionNotificationReceiver.sol"; +import {console2} from "forge-std/Test.sol"; + +contract FacilitatorSwap is IFacilitatorInteractionNotificationReceiver { + using SafeERC20 for IERC20; + IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); + address swapRouter2 = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; + + event Swapped( + bytes32 orderHash, + address maker, + address executedSellAmount, + uint256 executedBuyAmount, + bytes interactionData, + bytes result + ); + + function fillOrderInteraction( + OrderEngine.Order[] calldata orders, + uint256[] calldata, + uint256[] calldata, + IERC20[] calldata borrowedTokens, + uint256[] calldata borrowedAmounts, + bytes memory interactionData + ) external { + usdc.approve(swapRouter2, type(uint).max); + (bool success, bytes memory data) = address(swapRouter2).call(interactionData); + require (success); + + emit Swapped( + OrderEngine.hash(orders[0]), + orders[0].maker, + address(borrowedTokens[0]), + borrowedAmounts[0], + interactionData, + data + ); + } +} diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index c4fcfe3..ce9177c 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -9,6 +9,7 @@ import "./../src/AdvancedOrderEngineErrors.sol"; import "./../src/libraries/OrderEngine.sol"; import "./../src/Helper/GenerateCalldata.sol"; import "./../src/Mocks/CallSwap.sol"; +import "./../src/Mocks/FacilitatorSwap.sol"; import "./../src/Mocks/CallTransfer.sol"; import "./interfaces/swaprouter.sol"; import "./interfaces/weth9.sol"; @@ -2268,6 +2269,41 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + amountIn); } + function testFacilitatorSwap() public { + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + ) = getStandardInput3(); + + vm.startPrank(operator); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + } + function getOrder1() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // nonce value @@ -2564,6 +2600,89 @@ contract AdvancedOrderEngineTest is Test { borrowedTokens = new IERC20[](0); } + function getStandardInput3() private returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + bytes memory data + // OrderEngine.Order memory order2, + // OrderEngine.Order memory order3 + ) { + uint amountOut = qouter.quoteExactInputSingle( + address(usdc), + address(weth), + 500, + 10000000, + 0 + ); + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 10 USDC - sell token amount + amountOut, // 0.0048 weth - buy token amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + data = abi.encodePacked( + address(new FacilitatorSwap()), + abi.encodeWithSelector( + swapRouter02.exactInputSingle.selector, + ISwapRouter02.ExactInputSingleParams ( + address(usdc), + address(weth), + 500, + address(advancedOrderEngine), + order1.sellTokenAmount, + amountOut, + 0 + ) + ) + ); + + orders = new OrderEngine.Order[](1); + + orders[0] = order1; + + sell = new uint256[](1); + + sell[0] = order1.sellTokenAmount; + + buy = new uint256[](1); + + buy[0] = order1.buyTokenAmount; + + signatures = new bytes[](1); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + signatures[0] = order1Signature; + + facilitatorInteraction = data; + borrowedAmounts = new uint256[](1); + borrowedAmounts[0] = order1.sellTokenAmount; + + borrowedTokens = new IERC20[](1); + borrowedTokens[0] = usdc; + + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } diff --git a/test/interfaces/quoter.sol b/test/interfaces/quoter.sol index 30399fd..ae9175b 100644 --- a/test/interfaces/quoter.sol +++ b/test/interfaces/quoter.sol @@ -10,4 +10,12 @@ interface IQuoter { uint256 amountOut, uint160 sqrtPriceLimitX96 ) external payable returns(uint256); + + function quoteExactInputSingle( + address tokenIn, + address tokenOut, + uint24 fee, + uint256 amountIn, + uint160 sqrtPriceLimitX96 + ) external payable returns(uint256); } \ No newline at end of file From d36f811c863db46d68e93a022ca0b2dba155eb9b Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 30 Nov 2023 13:37:36 +0500 Subject: [PATCH 064/122] ring order --- test/AdvancedOrderEngine.t.sol | 181 ++++++++++++++++++++++++++++++++- 1 file changed, 178 insertions(+), 3 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index ce9177c..d3074a3 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -27,6 +27,7 @@ contract AdvancedOrderEngineTest is Test { IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); IWETH9 weth = IWETH9(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); + IERC20 wbtc = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); IPriceFeed usdc_eth = IPriceFeed(0x986b5E1e1755e3C2440e960477f25201B0a8bbD4); IQuoter qouter = IQuoter(0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6); @@ -54,15 +55,17 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.manageOperatorPrivilege(operator, true); - IERC20[] memory tokens = new IERC20[](2); - bool[] memory access = new bool[](2); + IERC20[] memory tokens = new IERC20[](3); + bool[] memory access = new bool[](3); tokens[0] = usdc; // Assuming these addresses are valid ERC20 tokens tokens[1] = weth; + tokens[2] = wmatic; // Whitelisting tokens access[0] = true; access[1] = true; + access[2] = true; advancedOrderEngine.updateTokenWhitelist(tokens, access); vm.deal(maker1, 20 ether); @@ -149,6 +152,23 @@ contract AdvancedOrderEngineTest is Test { ) ); + + wmatic.approve(address(swapRouter02), UINT256_MAX); + wmatic.approve(address(advancedOrderEngine), UINT256_MAX); + + // get matic + swapRouter02.exactInputSingle{value: 1 ether}( + ISwapRouter02.ExactInputSingleParams ( + address(weth), + address(wmatic), + 3000, + maker3, + 1 ether, + 0, + 0 + ) + ); + vm.stopPrank(); vm.startPrank(operator); @@ -344,6 +364,56 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); } + function testRingOrders() public { + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeMaticMaker2 = wmatic.balanceOf(maker2); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeMaticMaker3 = wmatic.balanceOf(maker3); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput4(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterMaticMaker2 = wmatic.balanceOf(maker2); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterMaticMaker3 = wmatic.balanceOf(maker3); + + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount , afterWethMaker1); + assertEq(beforeWethMaker2, afterWethMaker2 + order2.sellTokenAmount); + assertEq(beforeMaticMaker2 + order2.buyTokenAmount, afterMaticMaker2); + assertEq(beforeMaticMaker3, afterMaticMaker3 + order3.sellTokenAmount); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + } + function testFillOrderInChunks() public { uint beforeUsdcMaker2 = usdc.balanceOf(maker2); uint beforeWethMaker2 = weth.balanceOf(maker2); @@ -512,7 +582,7 @@ contract AdvancedOrderEngineTest is Test { // not white listed token sellOrder.sellTokenAmount = prevSellAmount; IERC20 prevToken = sellOrder.sellToken; - sellOrder.sellToken = wmatic; + sellOrder.sellToken = wbtc; orders[0] = sellOrder; vm.expectRevert(TokenNotWhitelisted.selector); @@ -2683,6 +2753,111 @@ contract AdvancedOrderEngineTest is Test { } + function getStandardInput4() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) { + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + 10000000, // 10 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order2 = OrderEngine.Order( + 125, // nonce value + block.timestamp + 3600, // valid till + 4800000000000000, // 0.0048 weth - sell token amount + 13 ether, // 13 matic - sell token amount + 0, // fee + maker2, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker2, // Recipient's Ethereum address + weth, // MATIC token address - sell token + wmatic, // USDC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + order3 = OrderEngine.Order( + 126, // nonce value + block.timestamp + 3600, // valid till + 13 ether, // 0.0048 weth - sell token amount + 10000000, // 20 USDC - buy token amount + 0, // fee + maker3, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker3, // Recipient's Ethereum address + wmatic, // MATIC token address - sell token + usdc, // USDC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orders = new OrderEngine.Order[](3); + + orders[0] = order3; + orders[1] = order2; + orders[2] = order1; + + sell = new uint256[](3); + + sell[0] = order3.sellTokenAmount; + sell[1] = order2.sellTokenAmount; + sell[2] = order1.sellTokenAmount; + + buy = new uint256[](3); + + buy[0] = order3.buyTokenAmount; + buy[1] = order2.buyTokenAmount; + buy[2] = order1.buyTokenAmount; + + signatures = new bytes[](3); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory order2Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); + bytes memory order3Signature = abi.encodePacked(r, s, v); + + signatures[0] = order3Signature; + signatures[1] = order2Signature; + signatures[2] = order1Signature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From c0bcaee5791427ed0f516f50c13ebb2eb503f887 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 30 Nov 2023 16:56:23 +0500 Subject: [PATCH 065/122] ensures sellToken != buyToken --- src/AdvancedOrderEngine.sol | 7 +++++++ src/AdvancedOrderEngineErrors.sol | 1 + test/AdvancedOrderEngine.t.sol | 21 +++++++++++---------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index c902730..c69409b 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -499,6 +499,13 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { revert TokenNotWhitelisted(); } + // Revert if buy token and sell token are equal + if ( + order.sellToken == order.buyToken + ) { + revert SameBuyAndSellToken(); + } + // Revert if any address in the order is zero. if ( order.maker == address(0) || diff --git a/src/AdvancedOrderEngineErrors.sol b/src/AdvancedOrderEngineErrors.sol index 6c18fa1..5d4393a 100644 --- a/src/AdvancedOrderEngineErrors.sol +++ b/src/AdvancedOrderEngineErrors.sol @@ -20,3 +20,4 @@ error InvalidInteractionTarget(); error AccessDenied(); error SameFeeCollectorAddress(); error TokenNotWhitelisted(); +error SameBuyAndSellToken(); \ No newline at end of file diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index d3074a3..fb65c99 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -31,6 +31,7 @@ contract AdvancedOrderEngineTest is Test { ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); IPriceFeed usdc_eth = IPriceFeed(0x986b5E1e1755e3C2440e960477f25201B0a8bbD4); IQuoter qouter = IQuoter(0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6); + IQuoter positions = IQuoter(0xC36442b4a4522E871399CD717aBDD847Ab11FE88); address zeroAddress = address(0); address feeCollector = address(147578); address admin = address(3); @@ -1986,6 +1987,7 @@ contract AdvancedOrderEngineTest is Test { signatures[2] = order1Signature; signatures[3] = order4Signature; + vm.expectRevert(SameBuyAndSellToken.selector); advancedOrderEngine.fillOrders( orders, sell, @@ -1998,7 +2000,7 @@ contract AdvancedOrderEngineTest is Test { uint balanceAfter = usdc.balanceOf(operator); - assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); + assertEq(balanceBefore, balanceAfter); vm.stopPrank(); } @@ -2236,8 +2238,9 @@ contract AdvancedOrderEngineTest is Test { } function testSingleOrder() public { + // This is an invalid test case, i.e this is not a real word use case, this was only used to determine working of pre intercation code uint beforeUsdcMaker1 = usdc.balanceOf(maker1); - uint beforeWethMaker1 = weth.balanceOf(maker1); + // uint beforeWethMaker1 = weth.balanceOf(maker1); OrderEngine.Order[] memory orders; uint256[] memory sell; @@ -2249,16 +2252,14 @@ contract AdvancedOrderEngineTest is Test { OrderEngine.Order memory sellOrder = OrderEngine.Order( 123, // nonce value block.timestamp + 3600, // valid till - 10000000, // 10 USDC - sell amount - 10000000, // 10 USDC - sell amount - // 4800000000000000, // 0.0048 weth - buy token + 1, // weth - sell token // so it does not fail on zero amount + 10000000, // 10 USDC - buy amount 0, // fee maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address + weth, // weth token address - sell token usdc, // USDC token address - buy token - usdc, // USDC token address - buy token - // weth, // MATIC token address - sell token true, // is partially fillable "0x", // facilitator call data "", // predicate calldata @@ -2285,7 +2286,7 @@ contract AdvancedOrderEngineTest is Test { address(weth), address(usdc), 500, - maker1, + address(advancedOrderEngine), amountIn, sellOrder.buyTokenAmount, 0 @@ -2334,9 +2335,9 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); uint afterUsdcMaker1 = usdc.balanceOf(maker1); - uint afterWethMaker1 = weth.balanceOf(maker1); + // uint afterWethMaker1 = weth.balanceOf(maker1); assertEq(beforeUsdcMaker1 + sellOrder.buyTokenAmount, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + amountIn); + // assertEq(beforeWethMaker1, afterWethMaker1); } function testFacilitatorSwap() public { From 336d0119e6d5a682617a9cb737bd8a8dcb0460f0 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 30 Nov 2023 17:15:07 +0500 Subject: [PATCH 066/122] withdraw functionality --- src/AdvancedOrderEngine.sol | 21 +++++++++++ test/AdvancedOrderEngine.t.sol | 66 ++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index c69409b..8d7f680 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -244,6 +244,27 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { feeCollector = newFeeCollectorAddr; } + /** + * @notice collect leftover tokens. + * @dev Only callable by the owner. + * @param token token's contract address + * @param amount amount you want to transfer + * @param to address you want to transfer funds to + */ + function withdraw ( + address token, + uint amount, + address to + ) external onlyOwner { + // Revert if the new fee collector address is a zero address. + if (token == address(0) || to == address(0)) { + revert ZeroAddress(); + } + + _sendAsset(IERC20(token), amount, to); + + } + /*////////////////////////////////////////////////////////////// ORDER PROCESSING FUNCTIONS //////////////////////////////////////////////////////////////*/ diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index fb65c99..fd7c21a 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -199,6 +199,72 @@ contract AdvancedOrderEngineTest is Test { vm.stopPrank(); } + function testWithdraw() public { + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts,,, + ) = getStandardInput1(); + + vm.prank(operator); + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.startPrank(admin); + + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.withdraw( + address(0), + 1 * 10 ** 6, + admin + ); + + vm.expectRevert(ZeroAddress.selector); + advancedOrderEngine.withdraw( + address(usdc), + 1 * 10 ** 6, + address(0) + ); + + vm.expectRevert(); + advancedOrderEngine.withdraw( + address(usdc), + 2 * 10 ** 6, + address(0) + ); + + uint256 balBefore = usdc.balanceOf(admin); + advancedOrderEngine.withdraw( + address(usdc), + 1 * 10 ** 6, + admin + ); + uint256 balAfter = usdc.balanceOf(admin); + + assertEq(balBefore + 1 * 10 ** 6, balAfter); + + vm.stopPrank(); + + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.withdraw( + address(usdc), + 1 * 10 ** 6, + admin + ); + } + function testOperatorPriviledge() public { vm.startPrank(admin); From b007c2743064f176699997153d5b9ca4b82ab073 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 30 Nov 2023 18:16:26 +0500 Subject: [PATCH 067/122] facilitator swap logic contract upgrade --- script/deployFacilitatorSwapContract.s.sol | 21 +++++++++++++++++++++ src/Mocks/FacilitatorSwap.sol | 15 ++++++++++++++- test/AdvancedOrderEngine.t.sol | 5 ++++- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 script/deployFacilitatorSwapContract.s.sol diff --git a/script/deployFacilitatorSwapContract.s.sol b/script/deployFacilitatorSwapContract.s.sol new file mode 100644 index 0000000..0a70978 --- /dev/null +++ b/script/deployFacilitatorSwapContract.s.sol @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/Mocks/FacilitatorSwap.sol"; + +contract DeployScript is Script { + function run() external { + FacilitatorSwap facilitatorSwap; + + uint256 ownerPrivateKey = vm.envUint("PRIVATE_KEY"); + // address owner = vm.addr(ownerPrivateKey); + + vm.startBroadcast(ownerPrivateKey); + + facilitatorSwap = new FacilitatorSwap(); + + vm.stopBroadcast(); + + } +} \ No newline at end of file diff --git a/src/Mocks/FacilitatorSwap.sol b/src/Mocks/FacilitatorSwap.sol index 69d7fb9..737dbc9 100644 --- a/src/Mocks/FacilitatorSwap.sol +++ b/src/Mocks/FacilitatorSwap.sol @@ -29,7 +29,6 @@ contract FacilitatorSwap is IFacilitatorInteractionNotificationReceiver { uint256[] calldata borrowedAmounts, bytes memory interactionData ) external { - usdc.approve(swapRouter2, type(uint).max); (bool success, bytes memory data) = address(swapRouter2).call(interactionData); require (success); @@ -42,4 +41,18 @@ contract FacilitatorSwap is IFacilitatorInteractionNotificationReceiver { data ); } + + function approve( + address token, + address to, + uint256 amount + ) external { + IERC20(token).approve(to, amount); + } + + function updateRouter( + address newRouter + ) external { + swapRouter2 = newRouter; + } } diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index fd7c21a..0b9ee1d 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -2776,8 +2776,11 @@ contract AdvancedOrderEngineTest is Test { "0x" // post-interaction data ); + address fs = address(new FacilitatorSwap()); + FacilitatorSwap(fs).approve(address(usdc), address(swapRouter02), UINT256_MAX); + data = abi.encodePacked( - address(new FacilitatorSwap()), + fs, abi.encodeWithSelector( swapRouter02.exactInputSingle.selector, ISwapRouter02.ExactInputSingleParams ( From 34b1f89b085679827996ad6fe72b76c8b66feb9b Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 4 Dec 2023 12:26:23 +0500 Subject: [PATCH 068/122] test summary --- test/README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/README.md diff --git a/test/README.md b/test/README.md new file mode 100644 index 0000000..a834812 --- /dev/null +++ b/test/README.md @@ -0,0 +1,40 @@ +# Test Summary + +| Test Name | Description | Tested (✔/✘) | +|--------------------------- |----------------------------------------------------------------------------------|------------------| +| setUp | Initializes the smart contract with predefined conditions for subsequent tests. | ✔ | +| testWithdraw | Validates the withdrawal functionality of the smart contract, including invalid attempts, ownership checks, and successful withdrawal. | ✔ | +| testOperatorPrivilege | Tests the management of operator privileges in the smart contract, covering operator addition, removal, ownership checks, and invalid attempts. | ✔ | +| testUpdateTokenWhitelist | Checks the token whitelist updating functionality of the smart contract, including token whitelisting, invalid attempts, and ownership checks. | ✔ | +| testChangePredicateAddress | Validates the functionality of changing the predicate address, covering successful address change, invalid attempts, and ownership checks. | ✔ | +| testChangeFeeCollectorAddress | Checks the functionality of changing the fee collector address, covering successful address change, invalid attempts, and ownership checks. | ✔ | +| testFillOrders | Tests the order filling functionality of the smart contract, including successful order filling with updated token balances. | ✔ | +| Test Name | Description | Tested (✔/✘) | +| testRingOrders | Validates the order ring functionality of the smart contract, ensuring correct token balances after ring execution. | ✔ | +| testFillOrderInChunks | Tests the order filling functionality in chunks, covering multiple order fillings with updated token balances. | ✔ | +| testNoOrderInputFillOrders | Ensures the smart contract reverts when attempting to fill orders with no input orders provided. | ✔ | +| testInvalidInputFillOrders | Validates the handling of invalid inputs during the order filling process, including expired orders, zero amounts, non-whitelisted tokens, zero address tokens/operators, and invalid signatures. | ✔ | +| testOrderReplay | Checks that the smart contract reverts when attempting to replay an already filled order. | ✔ | +| testInputLengthMismatchFillOrders | Validates that the smart contract reverts when encountering input length mismatches during the order filling process. | ✔ | +| testPartiallyFillableOrder | Tests the partially fillable order functionality, ensuring correct token balances after partially filling orders. | ✔ | +| testExceedsOrderSellAmount | Ensures the smart contract reverts when attempting to fill orders with amounts exceeding the order's sell amount. | ✔ | +| `testPartiallyFillableOrderFail` | Tests the failure scenario when attempting to fill partially fillable orders with incorrect sell and buy amounts. | ✔ | +| `testInvalidSignature` | Tests the failure scenario when attempting to fill orders with an invalid signature. | ✔ | +| `testFillOrKillFail` | Tests the failure scenario when attempting to fill orders with the "FillOrKill" condition not met. | ✔ | +| `testPredicateFail` | Tests the failure scenario when executing orders with a predicate that evaluates to false. | ✔ | +| `testMultiplePredicateOR` | Tests the successful execution of orders with a logical OR combination of multiple predicates, involving 'lt' and 'gt' conditions. | ✔ | +| `testMultiplePredicateOR1` | Tests the successful execution of orders with another combination of logical OR of multiple predicates, involving 'lt' conditions. | ✔ | +| `testMultiplePredicateORFail` | Tests the failure scenario when executing orders with a logical OR combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✘ | +| `testMultiplePredicateANDFail` | Tests the failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✘ | +| `testMultiplePredicateANDFail1` | Tests another failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the first predicate fails. | ✘ | +| `testMultiplePredicateAND` | Tests the successful execution of orders with a logical AND combination of multiple predicates, involving 'lt' conditions. | ✔ | +| `testPredicate` | Tests the successful execution of orders with a single predicate involving 'lt' conditions. | ✔ | +| testDrain | Execute drain functionality with various orders. | ✔ | +| testDrainERC20 | Test ERC20 drain functionality, checking for same buy and sell tokens. | ✔ | +| testAsymetricFillOrKillOrders | Test asymmetrical fill or kill orders. | ✔ | +| testAsymetricPartiallyFillOrders | Test asymmetrical partially filled orders. | ✔ | +| testFacilitatorBorrowedAmounts | Test facilitator borrowed amounts functionality. | ✔ | +| testCancelOrders | Tests order cancellation with successful fill | ✔ | +| testCancelOrdersFail | Tests order cancellation with failed fill | ✔ | +| testSingleOrder | Tests single order execution with pre-interaction | ✔ | +| testFacilitatorSwap | Tests facilitator swap functionality | ✔ | \ No newline at end of file From 8d3914f9568a7da3cf6794cfc000ac9c5de3924e Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 4 Dec 2023 12:33:01 +0500 Subject: [PATCH 069/122] fix --- test/README.md | 49 ++++++++++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/test/README.md b/test/README.md index a834812..cf76b5e 100644 --- a/test/README.md +++ b/test/README.md @@ -2,22 +2,21 @@ | Test Name | Description | Tested (✔/✘) | |--------------------------- |----------------------------------------------------------------------------------|------------------| -| setUp | Initializes the smart contract with predefined conditions for subsequent tests. | ✔ | -| testWithdraw | Validates the withdrawal functionality of the smart contract, including invalid attempts, ownership checks, and successful withdrawal. | ✔ | -| testOperatorPrivilege | Tests the management of operator privileges in the smart contract, covering operator addition, removal, ownership checks, and invalid attempts. | ✔ | -| testUpdateTokenWhitelist | Checks the token whitelist updating functionality of the smart contract, including token whitelisting, invalid attempts, and ownership checks. | ✔ | -| testChangePredicateAddress | Validates the functionality of changing the predicate address, covering successful address change, invalid attempts, and ownership checks. | ✔ | -| testChangeFeeCollectorAddress | Checks the functionality of changing the fee collector address, covering successful address change, invalid attempts, and ownership checks. | ✔ | -| testFillOrders | Tests the order filling functionality of the smart contract, including successful order filling with updated token balances. | ✔ | -| Test Name | Description | Tested (✔/✘) | -| testRingOrders | Validates the order ring functionality of the smart contract, ensuring correct token balances after ring execution. | ✔ | -| testFillOrderInChunks | Tests the order filling functionality in chunks, covering multiple order fillings with updated token balances. | ✔ | -| testNoOrderInputFillOrders | Ensures the smart contract reverts when attempting to fill orders with no input orders provided. | ✔ | -| testInvalidInputFillOrders | Validates the handling of invalid inputs during the order filling process, including expired orders, zero amounts, non-whitelisted tokens, zero address tokens/operators, and invalid signatures. | ✔ | -| testOrderReplay | Checks that the smart contract reverts when attempting to replay an already filled order. | ✔ | -| testInputLengthMismatchFillOrders | Validates that the smart contract reverts when encountering input length mismatches during the order filling process. | ✔ | -| testPartiallyFillableOrder | Tests the partially fillable order functionality, ensuring correct token balances after partially filling orders. | ✔ | -| testExceedsOrderSellAmount | Ensures the smart contract reverts when attempting to fill orders with amounts exceeding the order's sell amount. | ✔ | +| `setUp` | Initializes the smart contract with predefined conditions for subsequent tests. | ✔ | +| `testWithdraw` | Validates the withdrawal functionality of the smart contract, including invalid attempts, ownership checks, and successful withdrawal. | ✔ | +| `testOperatorPrivilege` | Tests the management of operator privileges in the smart contract, covering operator addition, removal, ownership checks, and invalid attempts. | ✔ | +| `testUpdateTokenWhitelist` | Checks the token whitelist updating functionality of the smart contract, including token whitelisting, invalid attempts, and ownership checks. | ✔ | +| `testChangePredicateAddress` | Validates the functionality of changing the predicate address, covering successful address change, invalid attempts, and ownership checks. | ✔ | +| `testChangeFeeCollectorAddress` | Checks the functionality of changing the fee collector address, covering successful address change, invalid attempts, and ownership checks. | ✔ | +| `testFillOrders` | Tests the order filling functionality of the smart contract, including successful order filling with updated token balances. | ✔ | +| `testRingOrders` | Validates the order ring functionality of the smart contract, ensuring correct token balances after ring execution. | ✔ | +| `testFillOrderInChunks` | Tests the order filling functionality in chunks, covering multiple order fillings with updated token balances. | ✔ | +| `testNoOrderInputFillOrders` | Ensures the smart contract reverts when attempting to fill orders with no input orders provided. | ✔ | +| `testInvalidInputFillOrders` | Validates the handling of invalid inputs during the order filling process, including expired orders, zero amounts, non-whitelisted tokens, zero address tokens/operators, and invalid signatures. | ✔ | +| `testOrderReplay` | Checks that the smart contract reverts when attempting to replay an already filled order. | ✔ | +| `testInputLengthMismatchFillOrders` | Validates that the smart contract reverts when encountering input length mismatches during the order filling process. | ✔ | +| `testPartiallyFillableOrder` | Tests the partially fillable order functionality, ensuring correct token balances after partially filling orders. | ✔ | +| `testExceedsOrderSellAmount` | Ensures the smart contract reverts when attempting to fill orders with amounts exceeding the order's sell amount. | ✔ | | `testPartiallyFillableOrderFail` | Tests the failure scenario when attempting to fill partially fillable orders with incorrect sell and buy amounts. | ✔ | | `testInvalidSignature` | Tests the failure scenario when attempting to fill orders with an invalid signature. | ✔ | | `testFillOrKillFail` | Tests the failure scenario when attempting to fill orders with the "FillOrKill" condition not met. | ✔ | @@ -29,12 +28,12 @@ | `testMultiplePredicateANDFail1` | Tests another failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the first predicate fails. | ✘ | | `testMultiplePredicateAND` | Tests the successful execution of orders with a logical AND combination of multiple predicates, involving 'lt' conditions. | ✔ | | `testPredicate` | Tests the successful execution of orders with a single predicate involving 'lt' conditions. | ✔ | -| testDrain | Execute drain functionality with various orders. | ✔ | -| testDrainERC20 | Test ERC20 drain functionality, checking for same buy and sell tokens. | ✔ | -| testAsymetricFillOrKillOrders | Test asymmetrical fill or kill orders. | ✔ | -| testAsymetricPartiallyFillOrders | Test asymmetrical partially filled orders. | ✔ | -| testFacilitatorBorrowedAmounts | Test facilitator borrowed amounts functionality. | ✔ | -| testCancelOrders | Tests order cancellation with successful fill | ✔ | -| testCancelOrdersFail | Tests order cancellation with failed fill | ✔ | -| testSingleOrder | Tests single order execution with pre-interaction | ✔ | -| testFacilitatorSwap | Tests facilitator swap functionality | ✔ | \ No newline at end of file +| `testDrain` | Execute drain functionality with various orders. | ✔ | +| `testDrainERC20` | Test ERC20 drain functionality, checking for same buy and sell tokens. | ✔ | +| `testAsymetricFillOrKillOrders` | Test asymmetrical fill or kill orders. | ✔ | +| `testAsymetricPartiallyFillOrders` | Test asymmetrical partially filled orders. | ✔ | +| `testFacilitatorBorrowedAmounts` | Test facilitator borrowed amounts functionality. | ✔ | +| `testCancelOrders` | Tests order cancellation with successful fill | ✔ | +| `testCancelOrdersFail` | Tests order cancellation with failed fill when order already filled, invalid access. | ✔ | +| `testSingleOrder` | Tests onchain dex swap through pre-interaction | ✔ | +| `testFacilitatorSwap` | Tests onchain dex swap through facilitator interaction | ✔ | \ No newline at end of file From a9847a973e7bb16234187aaf4cf9662284e88b5c Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Mon, 4 Dec 2023 13:09:33 +0500 Subject: [PATCH 070/122] fix --- test/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/README.md b/test/README.md index cf76b5e..8fe4f64 100644 --- a/test/README.md +++ b/test/README.md @@ -23,9 +23,9 @@ | `testPredicateFail` | Tests the failure scenario when executing orders with a predicate that evaluates to false. | ✔ | | `testMultiplePredicateOR` | Tests the successful execution of orders with a logical OR combination of multiple predicates, involving 'lt' and 'gt' conditions. | ✔ | | `testMultiplePredicateOR1` | Tests the successful execution of orders with another combination of logical OR of multiple predicates, involving 'lt' conditions. | ✔ | -| `testMultiplePredicateORFail` | Tests the failure scenario when executing orders with a logical OR combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✘ | -| `testMultiplePredicateANDFail` | Tests the failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✘ | -| `testMultiplePredicateANDFail1` | Tests another failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the first predicate fails. | ✘ | +| `testMultiplePredicateORFail` | Tests the failure scenario when executing orders with a logical OR combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✔ | +| `testMultiplePredicateANDFail` | Tests the failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the second predicate fails. | ✔ | +| `testMultiplePredicateANDFail1` | Tests another failure scenario when executing orders with a logical AND combination of multiple predicates, where the arbitrary call in the first predicate fails. | ✔ | | `testMultiplePredicateAND` | Tests the successful execution of orders with a logical AND combination of multiple predicates, involving 'lt' conditions. | ✔ | | `testPredicate` | Tests the successful execution of orders with a single predicate involving 'lt' conditions. | ✔ | | `testDrain` | Execute drain functionality with various orders. | ✔ | From e34d22fcf7f1d8f91e2d10a8177692672032f27c Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:08:34 +0500 Subject: [PATCH 071/122] Create slither.yml --- .github/workflows/slither.yml | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/slither.yml diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml new file mode 100644 index 0000000..f2d7ee0 --- /dev/null +++ b/.github/workflows/slither.yml @@ -0,0 +1,38 @@ +name: Slither Analysis + +on: [push, pull_request] + +jobs: + analyze: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Run Slither + uses: crytic/slither-action@v0.3.0 + id: slither + with: + node-version: 16 + fail-on: none + slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ + + - name: Save Slither output to file + run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + + - name: Configure Git + run: | + git config user.name "GitHub Actions Bot" + git config user.email "actions@github.com" + - name: Commit and push changes + run: | + git add slither-output.txt + git commit -m "Update Slither analysis output" + git push + # Upload Slither Report as an Artifact + - name: Upload Slither Report + if: always() # Ensure the artifact is uploaded even if previous steps fail + uses: actions/upload-artifact@v3 + with: + name: slither-report + path: slither-output.txt From ceafb6a2854d8d1c5525f48bbde8941301ed926e Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:11:18 +0500 Subject: [PATCH 072/122] Create slither-output.txt --- slither-output.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/slither-output.txt @@ -0,0 +1 @@ + From 15e294e392c8b053ea17fb836721aeceaa691250 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:21:57 +0500 Subject: [PATCH 073/122] Update slither.yml --- .github/workflows/slither.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index f2d7ee0..c963073 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -24,6 +24,7 @@ jobs: run: | git config user.name "GitHub Actions Bot" git config user.email "actions@github.com" + - name: Commit and push changes run: | git add slither-output.txt From 4272c7d7d2b39f2ccf4aa3cc391c5cd4eb9df713 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:28:51 +0500 Subject: [PATCH 074/122] Delete slither-output.txt --- slither-output.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt deleted file mode 100644 index 8b13789..0000000 --- a/slither-output.txt +++ /dev/null @@ -1 +0,0 @@ - From 6bdf4a9b12f4b7d2d66ce0792a17eef8e047a4bb Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:29:33 +0500 Subject: [PATCH 075/122] Create slither-output.txt --- slither-output.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/slither-output.txt @@ -0,0 +1 @@ + From 23bdc6747d20ded0c2e4af635ea2d614e8adb733 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:31:17 +0500 Subject: [PATCH 076/122] Update slither.yml --- .github/workflows/slither.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index c963073..2afff4a 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -30,6 +30,7 @@ jobs: git add slither-output.txt git commit -m "Update Slither analysis output" git push + # Upload Slither Report as an Artifact - name: Upload Slither Report if: always() # Ensure the artifact is uploaded even if previous steps fail From def8194f604e8db27e19a0bfc3d5c171423d1149 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:40:14 +0500 Subject: [PATCH 077/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 2afff4a..cfc65ca 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -18,7 +18,7 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + run: printf "%s" "${{ steps.slither.outputs.stdout }}" > slither-output.txt - name: Configure Git run: | From 660b1e3c209fc2455f61ba2b2e01c87677d0854c Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:43:17 +0500 Subject: [PATCH 078/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index cfc65ca..2afff4a 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -18,7 +18,7 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: printf "%s" "${{ steps.slither.outputs.stdout }}" > slither-output.txt + run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt - name: Configure Git run: | From a6fc0be858a8da90dde134292f269776d084acc0 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:46:25 +0500 Subject: [PATCH 079/122] Delete slither-output.txt --- slither-output.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt deleted file mode 100644 index 8b13789..0000000 --- a/slither-output.txt +++ /dev/null @@ -1 +0,0 @@ - From ad945210ba1877463e02dd39fe742b7096faeabc Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:53:37 +0500 Subject: [PATCH 080/122] Update slither.yml --- .github/workflows/slither.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 2afff4a..1cdc395 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -18,7 +18,7 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + run: echo "Test output" > slither-output.txt - name: Configure Git run: | From 9f99b783ce60dc590d478ca466b9fd118ca57a4a Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Mon, 4 Dec 2023 11:55:19 +0000 Subject: [PATCH 081/122] Update Slither analysis output --- slither-output.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 slither-output.txt diff --git a/slither-output.txt b/slither-output.txt new file mode 100644 index 0000000..4006279 --- /dev/null +++ b/slither-output.txt @@ -0,0 +1 @@ +Test output From 2c1ee2f652e6a3fabde120672656b603708720df Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:22:27 +0500 Subject: [PATCH 082/122] Update slither.yml --- .github/workflows/slither.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 1cdc395..f50a87c 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -20,6 +20,11 @@ jobs: - name: Save Slither output to file run: echo "Test output" > slither-output.txt + - name: Checkout repository + uses: actions/checkout@v3 + with: + ref: testing + - name: Configure Git run: | git config user.name "GitHub Actions Bot" @@ -29,7 +34,7 @@ jobs: run: | git add slither-output.txt git commit -m "Update Slither analysis output" - git push + git push origin testing # Upload Slither Report as an Artifact - name: Upload Slither Report From aa564d66f7ce1438e302647ab904968ff8395ff9 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:34:30 +0500 Subject: [PATCH 083/122] Update slither.yml --- .github/workflows/slither.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index f50a87c..7fde329 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -18,12 +18,10 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: echo "Test output" > slither-output.txt + run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt - name: Checkout repository uses: actions/checkout@v3 - with: - ref: testing - name: Configure Git run: | @@ -34,7 +32,7 @@ jobs: run: | git add slither-output.txt git commit -m "Update Slither analysis output" - git push origin testing + git push # Upload Slither Report as an Artifact - name: Upload Slither Report From 156144fe9bd6ce01928eee278eaa9848b184a6c4 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:04:09 +0500 Subject: [PATCH 084/122] Update slither.yml --- .github/workflows/slither.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml index 7fde329..2afff4a 100644 --- a/.github/workflows/slither.yml +++ b/.github/workflows/slither.yml @@ -20,9 +20,6 @@ jobs: - name: Save Slither output to file run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt - - name: Checkout repository - uses: actions/checkout@v3 - - name: Configure Git run: | git config user.name "GitHub Actions Bot" From f111a081e0884847c298c336b2c8340ab9450ed6 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:17:04 +0500 Subject: [PATCH 085/122] Delete .github directory --- .github/workflows/slither.yml | 40 ----------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 .github/workflows/slither.yml diff --git a/.github/workflows/slither.yml b/.github/workflows/slither.yml deleted file mode 100644 index 2afff4a..0000000 --- a/.github/workflows/slither.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Slither Analysis - -on: [push, pull_request] - -jobs: - analyze: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Run Slither - uses: crytic/slither-action@v0.3.0 - id: slither - with: - node-version: 16 - fail-on: none - slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - - - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt - - - name: Configure Git - run: | - git config user.name "GitHub Actions Bot" - git config user.email "actions@github.com" - - - name: Commit and push changes - run: | - git add slither-output.txt - git commit -m "Update Slither analysis output" - git push - - # Upload Slither Report as an Artifact - - name: Upload Slither Report - if: always() # Ensure the artifact is uploaded even if previous steps fail - uses: actions/upload-artifact@v3 - with: - name: slither-report - path: slither-output.txt From 8c89c1d18b22b94c30081e5ed0fba9ff2dc7f535 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:18:18 +0500 Subject: [PATCH 086/122] Create slither-analysis.yml --- .github/workflows/slither-analysis.yml | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/slither-analysis.yml diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml new file mode 100644 index 0000000..e31560e --- /dev/null +++ b/.github/workflows/slither-analysis.yml @@ -0,0 +1,41 @@ +name: Slither Analysis + +on: [push, pull_request] + +jobs: + analyze: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Run Slither + uses: crytic/slither-action@v0.3.0 + id: slither + with: + target: 'Contracts' + node-version: 16 + fail-on: none + slither-args: --checklist --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ + + - name: Save Slither output to file + run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + + - name: Configure Git + run: | + git config user.name "GitHub Actions Bot" + git config user.email "actions@github.com" + + - name: Commit and push changes + run: | + git add slither-output.txt + git commit -m "Update Slither analysis output" + git push + + # Upload Slither Report as an Artifact + - name: Upload Slither Report + if: always() # Ensure the artifact is uploaded even if previous steps fail + uses: actions/upload-artifact@v3 + with: + name: slither-report + path: slither-output.txt From 4e391782859f652b15dfefbd8eb61b1599381bd1 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:19:43 +0500 Subject: [PATCH 087/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index e31560e..1d2a8c2 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -13,7 +13,7 @@ jobs: uses: crytic/slither-action@v0.3.0 id: slither with: - target: 'Contracts' + target: 'src' node-version: 16 fail-on: none slither-args: --checklist --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ From e931569eb5b630bc7c89f520b7a4ccbc8bb1986a Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:22:26 +0500 Subject: [PATCH 088/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 1d2a8c2..7151be0 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -13,7 +13,6 @@ jobs: uses: crytic/slither-action@v0.3.0 id: slither with: - target: 'src' node-version: 16 fail-on: none slither-args: --checklist --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ From 3628918dd9d6404123c869e23b93ef4e68d41612 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:25:30 +0500 Subject: [PATCH 089/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 7151be0..1e694bc 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -15,7 +15,7 @@ jobs: with: node-version: 16 fail-on: none - slither-args: --checklist --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ + slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt From 04941c6eeaf9ee3f133a06805c7285b8b393110a Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:35:44 +0500 Subject: [PATCH 090/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 1e694bc..6220249 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -18,7 +18,9 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" > slither-output.txt + run: | + output="${{ steps.slither.outputs.stdout }}" + echo "$output" > slither-output.txt - name: Configure Git run: | From a421d8e6fd176b453889dcdc279321180f70147b Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:38:42 +0500 Subject: [PATCH 091/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 6220249..ef7d2a4 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -18,9 +18,7 @@ jobs: slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - name: Save Slither output to file - run: | - output="${{ steps.slither.outputs.stdout }}" - echo "$output" > slither-output.txt + run: echo "${{ steps.slither.outputs.stdout }}" | base64 > slither-output-base64.txt - name: Configure Git run: | From 8fcf93fa026e07e7944472fb46f5ed2323b62b3a Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:42:22 +0500 Subject: [PATCH 092/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index ef7d2a4..78643f2 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -16,9 +16,12 @@ jobs: node-version: 16 fail-on: none slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - + + - name: Print Slither output + run: echo "${{ steps.slither.outputs.stdout }}" + - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" | base64 > slither-output-base64.txt + run: echo "${{ steps.slither.outputs.stdout }}" | > slither-output-base64.txt - name: Configure Git run: | From aa2f627087b4aa5d4ada807477f1eaffc60419a5 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:46:48 +0500 Subject: [PATCH 093/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 78643f2..1dee33c 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -17,11 +17,13 @@ jobs: fail-on: none slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - - name: Print Slither output - run: echo "${{ steps.slither.outputs.stdout }}" + - name: Save Slither output to file - run: echo "${{ steps.slither.outputs.stdout }}" | > slither-output-base64.txt + run: | + { + echo "${{ steps.slither.outputs.stdout }}" + } > slither-output.txt - name: Configure Git run: | From cc0e994ae83c11189feca2596fa9bf153fe81081 Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:57:42 +0500 Subject: [PATCH 094/122] Update slither-analysis.yml --- .github/workflows/slither-analysis.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/slither-analysis.yml b/.github/workflows/slither-analysis.yml index 1dee33c..1887af5 100644 --- a/.github/workflows/slither-analysis.yml +++ b/.github/workflows/slither-analysis.yml @@ -16,14 +16,9 @@ jobs: node-version: 16 fail-on: none slither-args: --checklist --filter-paths "openzeppelin-contracts" --show-ignored-findings --markdown-root ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/ - - - name: Save Slither output to file - run: | - { - echo "${{ steps.slither.outputs.stdout }}" - } > slither-output.txt + run: echo "${{ steps.slither.outputs.stdout }}" >> slither-output.txt - name: Configure Git run: | From e63767a6ff1b8c8a9e69133f9535102f56a66489 Mon Sep 17 00:00:00 2001 From: Muhammad Abdullah Date: Tue, 5 Dec 2023 21:45:45 +0500 Subject: [PATCH 095/122] Added Invariants Added the Identified Invariants. Wrote these in plain English first. --- test/Invariants.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/Invariants.md diff --git a/test/Invariants.md b/test/Invariants.md new file mode 100644 index 0000000..1966998 --- /dev/null +++ b/test/Invariants.md @@ -0,0 +1,25 @@ +| **Property** | **Type** | **Risk**| **Tested (✔/✘)**| +| ------------------------------------------------------------------------------------------------------------ | ----------------- | ---- | ------ | +| All orders must be fulfilled/executed. / revert condition. | High-Level | | | +| Fill order must be only called by Operator. | High-Level | | | +| All orders must be fulfilled at a specified price. | High-Level | | | +| Facilitator interactions must not result in loss of funds. | | | | +| An order from a Contract must be fulfilled. | Unit-test | | | +| An order from an EOA must be fulfilled. | Unit-test | | | +| Maker should be able to cancel an order. | Unit-test | | | +| After the matching of the orders, the balance must be updated rightly. / transfer of funds must be done. | | | | +| The vault must not keep funds after the fullfilment of orders. I.e balance[before] == balance[after] | | | | +| The assets from maker to taker must be transferred without any cutting of fees (right Now). | | | | +| If applied , The private orders must only be fulfilled by the specified entity | | | | +| The Order Engine must operate on erc20 assets | | | | +| If falsh-loan facility is leveraged by facilitator , funds should be returned within the tx | | | | +| Upon filling orders funds from Seller & Maker are moved to vault | State Transitions | | | +| Upon Finalizing the order funds are moved from vault to seller and maker | State Transitions | | | +| Only Whitelisted tokens to be accepted | | | | +| Funds should not be lost in case the receiver is zero address | | | | +| After the expiry time the order should not be fullfilled | | | | +| 1 Large order should fullfil multiple small orders | High-Level | | | +| Orders with higher priority ( higher fees) should always be processed before lower priority orders | High-Level | | | +| Facilitator interactions must be in scope of order fulfillment within a transaction | | | | +| once an order is cancelted it cant be executed , even partially | | | | +| the contract should handle unexpected input like large arrays without failing or causing excessive gas costs | | | | From e68149c4c1c6c1076fc82c927b890949a5cbd3cb Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 7 Dec 2023 13:17:08 +0500 Subject: [PATCH 096/122] stress test --- test/AdvancedOrderEngine.t.sol | 116 +++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 0b9ee1d..5d3e16a 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -2441,6 +2441,33 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); } + function testStress() public { + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts + ) = getStandardInput5(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + } + function getOrder1() private view returns(OrderEngine.Order memory) { return OrderEngine.Order( 123, // nonce value @@ -2928,6 +2955,95 @@ contract AdvancedOrderEngineTest is Test { borrowedTokens = new IERC20[](0); } + function getStandardInput5() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts + ) { + uint8 v; + bytes32 r; + bytes32 s; + uint size = 200; + bytes memory sellOrderSignature; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + facilitatorInteraction = "0x"; + orders = new OrderEngine.Order[](size + size); + sell = new uint256[](size + size); + buy = new uint256[](size + size); + signatures = new bytes[](size + size); + + for (uint i = 0; i < size; i++) { + + // console2.log(i); + + orders[i] = OrderEngine.Order( + i, // nonce value + block.timestamp + 3600, // valid till + 48000000000000, // 0.00048 weth - sell token + 100000, // 1 USDC - buy amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + weth, // MATIC token address - sell token + usdc, // USDC token address - buy token + true, // is partially fillable + "0x", // facilitator call data + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + sell[i] = orders[i].sellTokenAmount; + + buy[i] = orders[i].buyTokenAmount; + + (v,r,s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(orders[i]))); + sellOrderSignature = abi.encodePacked(r, s, v); + + signatures[i] = sellOrderSignature; + + } + + for (uint i = size; i < (size + size); i++) { + + // console2.log(i); + + orders[i] = OrderEngine.Order( + i, // nonce value + block.timestamp + 3600, // valid till + 100000, // 10 USDC - sell token amount + 48000000000000, // 0.0048 weth - buy token amount + 0, // fee + maker2, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker2, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + true, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + sell[i] = orders[i].sellTokenAmount; + + buy[i] = orders[i].buyTokenAmount; + + (v,r,s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(orders[i]))); + sellOrderSignature = abi.encodePacked(r, s, v); + + signatures[i] = sellOrderSignature; + + } + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From cf0e82d1f2b6943d19a84c0837187400aa595d24 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 7 Dec 2023 14:14:34 +0500 Subject: [PATCH 097/122] comment fix --- src/AdvancedOrderEngine.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index 8d7f680..29b9b27 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -256,7 +256,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { uint amount, address to ) external onlyOwner { - // Revert if the new fee collector address is a zero address. + // Revert if the token address or the to address is a zero address. if (token == address(0) || to == address(0)) { revert ZeroAddress(); } From de5df3f0fdf8e0f763a913e3adb21c5fe14b773d Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 7 Dec 2023 15:15:54 +0500 Subject: [PATCH 098/122] removed status check in updateTokenWhitelist --- src/AdvancedOrderEngine.sol | 8 ++++---- test/AdvancedOrderEngine.t.sol | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index 29b9b27..0f7c559 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -174,10 +174,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { revert ZeroAddress(); } - // Revert if the access status remains unchanged. - if (isWhitelistedToken[tokens[i]] == access[i]) { - revert AccessStatusUnchanged(); - } + // // Revert if the access status remains unchanged. + // if (isWhitelistedToken[tokens[i]] == access[i]) { + // revert AccessStatusUnchanged(); + // } isWhitelistedToken[tokens[i]] = access[i]; diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 5d3e16a..7c9ba1b 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -312,9 +312,9 @@ contract AdvancedOrderEngineTest is Test { assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), true); assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), true); - // Test for AccessStatusUnchanged revert - vm.expectRevert(AccessStatusUnchanged.selector); - advancedOrderEngine.updateTokenWhitelist(tokens, access); + // // Test for AccessStatusUnchanged revert + // vm.expectRevert(AccessStatusUnchanged.selector); + // advancedOrderEngine.updateTokenWhitelist(tokens, access); // Remove from whitelist access[0] = false; From f02f8a1372867f1d6e89f5e360d2a4e5537b7e93 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 8 Dec 2023 11:54:42 +0500 Subject: [PATCH 099/122] qouter interface --- test/interfaces/quoter.sol | 43 +++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/test/interfaces/quoter.sol b/test/interfaces/quoter.sol index ae9175b..468786d 100644 --- a/test/interfaces/quoter.sol +++ b/test/interfaces/quoter.sol @@ -1,21 +1,50 @@ // SPDX-License-Identifier: MIT - pragma solidity 0.8.21; +/// @title Quoter Interface +/// @notice Supports quoting the calculated amounts from exact input or exact output swaps +/// @dev These functions are not marked view because they rely on calling non-view functions and reverting +/// to compute the result. They are also not gas efficient and should not be called on-chain. interface IQuoter { - function quoteExactOutputSingle( + /// @notice Returns the amount out received for a given exact input swap without executing the swap + /// @param path The path of the swap, i.e. each token pair and the pool fee + /// @param amountIn The amount of the first token to swap + /// @return amountOut The amount of the last token that would be received + function quoteExactInput(bytes memory path, uint256 amountIn) external returns (uint256 amountOut); + + /// @notice Returns the amount out received for a given exact input but for a swap of a single pool + /// @param tokenIn The token being swapped in + /// @param tokenOut The token being swapped out + /// @param fee The fee of the token pool to consider for the pair + /// @param amountIn The desired input amount + /// @param sqrtPriceLimitX96 The price limit of the pool that cannot be exceeded by the swap + /// @return amountOut The amount of `tokenOut` that would be received + function quoteExactInputSingle( address tokenIn, address tokenOut, uint24 fee, - uint256 amountOut, + uint256 amountIn, uint160 sqrtPriceLimitX96 - ) external payable returns(uint256); + ) external returns (uint256 amountOut); - function quoteExactInputSingle( + /// @notice Returns the amount in required for a given exact output swap without executing the swap + /// @param path The path of the swap, i.e. each token pair and the pool fee + /// @param amountOut The amount of the last token to receive + /// @return amountIn The amount of first token required to be paid + function quoteExactOutput(bytes memory path, uint256 amountOut) external returns (uint256 amountIn); + + /// @notice Returns the amount in required to receive the given exact output amount but for a swap of a single pool + /// @param tokenIn The token being swapped in + /// @param tokenOut The token being swapped out + /// @param fee The fee of the token pool to consider for the pair + /// @param amountOut The desired output amount + /// @param sqrtPriceLimitX96 The price limit of the pool that cannot be exceeded by the swap + /// @return amountIn The amount required as the input for the swap in order to receive `amountOut` + function quoteExactOutputSingle( address tokenIn, address tokenOut, uint24 fee, - uint256 amountIn, + uint256 amountOut, uint160 sqrtPriceLimitX96 - ) external payable returns(uint256); + ) external returns (uint256 amountIn); } \ No newline at end of file From 4938480d375eaa044d61a41bb19afe6d8040670c Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 8 Dec 2023 12:07:14 +0500 Subject: [PATCH 100/122] facilitator swap usingexact input --- test/AdvancedOrderEngine.t.sol | 126 +++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 7c9ba1b..1266057 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -2441,6 +2441,41 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); } + function testFacilitatorSwapExactInput() public { + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + ) = getStandardInput3(); + + vm.startPrank(operator); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + } + function testStress() public { vm.startPrank(operator); @@ -3044,6 +3079,97 @@ contract AdvancedOrderEngineTest is Test { } } + function getStandardInput6() private returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + bytes memory data + ) { + uint amountIn = 10000000; // sell amount + uint amountOut = qouter.quoteExactInput( + abi.encodePacked ( + address(usdc), + uint24(3000), + address(wbtc), + uint24(3000), + address(weth) + ), + amountIn + ); + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + amountIn, // 10 USDC - sell token amount + amountOut, // 0.0048 weth - buy token amount + 0, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + usdc, // USDC token address - sell token + weth, // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + address fs = address(new FacilitatorSwap()); + FacilitatorSwap(fs).approve(address(usdc), address(swapRouter02), UINT256_MAX); + + data = abi.encodePacked( + fs, + abi.encodeWithSelector( + swapRouter02.exactInput.selector, + ISwapRouter02.ExactInputParams ( + abi.encodePacked ( + address(usdc), + uint24(3000), + address(wbtc), + uint24(3000), + address(weth) + ), + address(advancedOrderEngine), + order1.sellTokenAmount, + amountOut + ) + ) + ); + + orders = new OrderEngine.Order[](1); + + orders[0] = order1; + + sell = new uint256[](1); + + sell[0] = order1.sellTokenAmount; + + buy = new uint256[](1); + + buy[0] = order1.buyTokenAmount; + + signatures = new bytes[](1); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + signatures[0] = order1Signature; + + facilitatorInteraction = data; + borrowedAmounts = new uint256[](1); + borrowedAmounts[0] = order1.sellTokenAmount; + + borrowedTokens = new IERC20[](1); + borrowedTokens[0] = usdc; + + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From 5ceee3fd3e0f6b218c2cbc8b65231346754964df Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Sun, 10 Dec 2023 01:18:28 +0500 Subject: [PATCH 101/122] fix --- test/AdvancedOrderEngine.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 1266057..c54ca8d 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -27,7 +27,7 @@ contract AdvancedOrderEngineTest is Test { IERC20 wmatic = IERC20(0x7c9f4C87d911613Fe9ca58b579f737911AAD2D43); IERC20 usdc = IERC20(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48); IWETH9 weth = IWETH9(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); - IERC20 wbtc = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); + IERC20 wbtc = IERC20(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599); ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); IPriceFeed usdc_eth = IPriceFeed(0x986b5E1e1755e3C2440e960477f25201B0a8bbD4); IQuoter qouter = IQuoter(0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6); @@ -2454,7 +2454,7 @@ contract AdvancedOrderEngineTest is Test { IERC20[] memory borrowedTokens, uint256[] memory borrowedAmounts, OrderEngine.Order memory order1, - ) = getStandardInput3(); + ) = getStandardInput6(); vm.startPrank(operator); From 75e88b7a6df4d51d280572733e7fce96f3de9272 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 20 Dec 2023 12:45:12 +0500 Subject: [PATCH 102/122] fee fix --- src/AdvancedOrderEngine.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index 0f7c559..bc95b0a 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -488,7 +488,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { _receiveAsset(order.sellToken, executedSellAmount, order.maker); // Receive fees from the maker to the fee collector address. - _receiveAsset(order.sellToken, executedFeeAmount, feeCollector); + if(executedFeeAmount != 0) { _receiveAsset(order.sellToken, executedFeeAmount, feeCollector); } } function _validateOrder( From dca82ce9bc7ba53737e7fd0c8e5cbab75580ac25 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 20 Dec 2023 12:48:29 +0500 Subject: [PATCH 103/122] new pegasus deploy --- .../1891/run-1701074240.json | 120 ------ .../1891/run-1701074248.json | 393 ------------------ .../1891/run-1701074287.json | 393 ------------------ .../1891/run-1703058457.json | 120 ++++++ .../1891/run-1703058464.json | 393 ++++++++++++++++++ .../1891/run-1703058489.json | 393 ++++++++++++++++++ .../1891/run-latest.json | 274 ++++++------ 7 files changed, 1043 insertions(+), 1043 deletions(-) delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json deleted file mode 100644 index 4737512..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1701074240.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3d2" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3d3" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": null, - "arguments": [ - "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x30dda8", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3d4" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d5" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x5df43", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d6" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" - ], - "pending": [ - "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4" - ], - "returns": {}, - "timestamp": 1701074240, - "chain": 1891, - "multi": false, - "commit": "e53f4d5" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json deleted file mode 100644 index 184cfd5..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1701074248.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3d2" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3d3" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": null, - "arguments": [ - "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x30dda8", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3d4" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d5" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x5df43", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d6" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "transactionIndex": "0x0", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", - "logs": [], - "status": "0x1", - "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "transactionIndex": "0x1", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "logs": [], - "status": "0x1", - "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x2599a2", - "gasUsed": "0x2599a2", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionIndex": "0x0", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "cumulativeGasUsed": "0x44056", - "gasUsed": "0x44056", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x2", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" - ], - "pending": [], - "returns": {}, - "timestamp": 1701074248, - "chain": 1891, - "multi": false, - "commit": "e53f4d5" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json b/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json deleted file mode 100644 index bfbe5b3..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1701074287.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3d2" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3d3" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": null, - "arguments": [ - "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x30dda8", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3d4" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d5" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x5df43", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d6" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", - "transactionIndex": "0x0", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", - "logs": [], - "status": "0x1", - "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", - "transactionIndex": "0x1", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", - "logs": [], - "status": "0x1", - "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x2599a2", - "gasUsed": "0x2599a2", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionIndex": "0x0", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "cumulativeGasUsed": "0x44056", - "gasUsed": "0x44056", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x2", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x9", - "removed": false - } - ], - "status": "0x1", - "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" - ], - "pending": [], - "returns": {}, - "timestamp": 1701074287, - "chain": 1891, - "multi": false, - "commit": "e53f4d5" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json new file mode 100644 index 0000000..e5bb7cd --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x535" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x536" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": null, + "arguments": [ + "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x537" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x538" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x539" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" + ], + "pending": [ + "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa" + ], + "returns": {}, + "timestamp": 1703058457, + "chain": 1891, + "multi": false, + "commit": "75e88b7" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json new file mode 100644 index 0000000..cfb3955 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x535" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x536" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": null, + "arguments": [ + "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x537" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x538" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x539" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionIndex": "0x0", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "logs": [], + "status": "0x1", + "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionIndex": "0x1", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "logs": [], + "status": "0x1", + "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x2645ef", + "gasUsed": "0x2645ef", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", + "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionIndex": "0x0", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", + "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", + "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" + ], + "pending": [], + "returns": {}, + "timestamp": 1703058464, + "chain": 1891, + "multi": false, + "commit": "75e88b7" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json new file mode 100644 index 0000000..f4ab806 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x535" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x536" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": null, + "arguments": [ + "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x537" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x538" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x539" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionIndex": "0x0", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "logs": [], + "status": "0x1", + "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionIndex": "0x1", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "logs": [], + "status": "0x1", + "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x2645ef", + "gasUsed": "0x2645ef", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", + "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionIndex": "0x0", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", + "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", + "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" + ], + "pending": [], + "returns": {}, + "timestamp": 1703058489, + "chain": 1891, + "multi": false, + "commit": "75e88b7" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json index bfbe5b3..f4ab806 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", + "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x3d2" + "nonce": "0x535" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", + "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", "function": null, "arguments": null, "transaction": { @@ -30,37 +30,37 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x3d3" + "nonce": "0x536" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", + "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "function": null, "arguments": [ - "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x30dda8", + "gas": "0x31bd96", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002cca601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612a029283620002c8843960805183611c81015260a05183611d7c015260c05183611c52015260e05183611cd001525182611cf601525181611cad0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611a3357806315169dec146119f35780632024cbc11461192a5780633644e515146119075780633c3efab4146118e05780635f2a6451146118255780636d70f7ae146117e65780636fda538f1461163f578063715018a6146115c357806379ba5097146114bd5780638da5cb5b146114965780638efede3d146113c457806390d6e14c146112f2578063ab37f486146112b3578063c2ee3a0814611290578063c415b95c14611269578063cf0f969d1461123d578063e30c397814611216578063f2fde38b146111945763fe61e35c146100f957600080fd5b346104475760e06003193601126104475767ffffffffffffffff6004358181116104475761012b903690600401611ae3565b61012052610160526024358181116104475761014b903690600401611ae3565b60e052610100526044358181116104475761016a903690600401611ae3565b60c0526101405260643581811161044757610189903690600401611ae3565b90608435838111610447576101a2903690600401611a7e565b919060a435858111610447576101bc903690600401611ae3565b93909560c43511610447576101d63660c435600401611ae3565b93909533600052600760205260ff60406000205416156111645760026000541461110657600260005561012051156110dc5760e05161012051148015906110ce575b80156110c2575b6108195760005b61012051811061084357505050601481101561044c575b50505050505060005b610120518110610257576001600055005b610268816101205161016051611bb7565b906102798160e05161010051611b86565b359161028b8260c05161014051611b86565b359061029681612245565b916102a46101208301611b96565b906103076102b460e08501611b96565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030282611db6565b61274e565b836000526006602052604060002054926101c081019660146103298984611bf7565b90501015610370575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610246565b6103a061038a61038460a098979a85611bf7565b9061296a565b989161039881989298612604565b169301611b96565b95823b156104475788966103ea6000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016125cd565b03925af190811561043b576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9360409361042c575b8294829450610332565b61043590611da2565b38610422565b6040513d6000823e3d90fd5b600080fd5b6104559161296a565b9094916080529392610468608051612604565b8281036108195760005b8181106107a057506001600160a01b03608051163b156104475760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106105f85750505061053761051b60209260031960a051820301602460a051015260e051610100516126a2565b60031960a051820301604460a051015260c051610140516126a2565b60031960a051820301606460a051015282815201959060005b8181106105d0575050506000946105979261057a9260031960a051840301608460a05101526126a2565b60031960a05182030160a460a051015260a0519360a05193611e20565b0360a051836001600160a01b03608051165af1801561043b576105c0575b38808080808061023d565b6105cb60a051611da2565b6105b5565b9091966020806001926001600160a01b036105ea8c611ac2565b168152019801929101610550565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161016051360301811215610447576020610795600193829361016051019061077661075a6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106ad828801611ac2565b16908501526001600160a01b036106c660c08701611ac2565b1660c08501526001600160a01b036106e060e08701611ac2565b1660e08501526101006001600160a01b036106fc828801611ac2565b16908501526101206001600160a01b03610717828801611ac2565b169085015261014061072a818701611ad6565b1515908501526101608086013590850152610180908061074c83880188612652565b929093870152850191611e20565b6101a061076981860186612652565b9185840390860152611e20565b916107876101c09182810190612652565b929091818503910152611e20565b9501930191016104e9565b806108136107b96107b4600194868c611b86565b611b96565b6107c4838888611b86565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030282611db6565b01610472565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b610854816101205161016051611bb7565b906108658160e05161010051611b86565b35916108778260c05161014051611b86565b359084831015611093576108908360051b870187611bf7565b9290859061089d84612245565b916020850135421161106257606085013515908115611055575b811561104c575b508015611044575b61101a576001600160a01b036108df6101208601611b96565b16600052600560205260ff60406000205416158015610ff1575b610fc7576001600160a01b0361091160a08601611b96565b16158015610faa575b8015610f8d575b8015610f71575b610f475760c084016001600160a01b0361094182611b96565b1615159081610f2a575b50610f0057816000526006602052604060002054604085013514610ed6576109766101408501611baa565b15610ea457670de0b6b3a7640000808802888104821489151715610e4b578461099e91612334565b906040860135808202918115918304141715610e4b576109c390606087013590612334565b10610e7a578160005260066020526040600020805490888201809211610e4b575560808401358088810204881481151715610e4b57610a09908860408701359102612334565b826000526006602052604085013560406000205411610e2157945b610a666020610a333688611fb9565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091610de7575b5015610d7f57610af4916020916001600160a01b03610aaf60a08901611b96565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611e20565b03915afa90811561043b57600091610d04575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610cda575b6101808301610b618185611bf7565b9050610c92575b506014610b796101a0850185611bf7565b90501015610bcc575b505090610bb36001946107b484610100610bc6960192610bad60a0610ba686611b96565b9301611b96565b916126df565b906001600160a01b0360045416916126df565b01610226565b6001600160a01b03610be76103846101a08697960187611bf7565b929091610bf381612604565b1690610c0160a08801611b96565b9084600052600660205260406000205494833b1561044757610c5a8b956000979388946040519a8b998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016125cd565b03925af194851561043b576107b4610bc694610bb393600198610c83575b509394505094610b82565b610c8c90611da2565b38610c78565b610c9f610ca59185611bf7565b90611e5f565b15610cb05738610b68565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610d77575b81610d1f60209383611dd2565b8101031261044757517fffffffff0000000000000000000000000000000000000000000000000000000081168103610447577fffffffff00000000000000000000000000000000000000000000000000000000610b07565b3d9150610d12565b610d91610d9f92610d97923691611f64565b83612506565b91909161236d565b6001600160a01b0380610db460a08701611b96565b1691160315610b525760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e19575b81610e0260209383611dd2565b8101031261044757610e1390611e13565b38610a8e565b3d9150610df5565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b955081606084013511610e7a576040830135956080840135948260005260066020526040850135604060002055610a24565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f3e3392611b96565b1614153861094b565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610f8660e08601611b96565b1615610928565b506001600160a01b03610fa36101008601611b96565b1615610921565b506001600160a01b03610fc06101208601611b96565b161561091a565b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110076101008601611b96565b1660005260ff60406000205416156108f9565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5082156108c6565b905015386108be565b60408601351591506108b7565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508060c051141561021f565b5060c05160e0511415610218565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b34610447576020600319360112610447576111ad611aac565b6111b5611b14565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104475760006003193601126104475760206001600160a01b0360025416604051908152f35b346104475760206003193601126104475760043560005260066020526020604060002054604051908152f35b346104475760006003193601126104475760206001600160a01b0360045416604051908152f35b34610447576000600319360112610447576020604051670de0b6b3a76400008152f35b34610447576020600319360112610447576001600160a01b036112d4611aac565b166000526005602052602060ff604060002054166040519015158152f35b34610447576020600319360112610447576004356001600160a01b0380821680920361044757611320611b14565b8115610f47576003549081169082821461139a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576113dd611aac565b6113e5611b14565b6001600160a01b0390818116918215610f475760045490811683811461146c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360015416604051908152f35b34610447576000600319360112610447576002546001600160a01b03338183160361153f577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b34610447576000600319360112610447576115dc611b14565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104475760406003193601126104475767ffffffffffffffff60043581811161044757611671903690600401611ae3565b916024359081116104475761168a903690600401611ae3565b92611693611b14565b80156110dc578381036108195760005b8181106116ac57005b6001600160a01b0390816116c46107b4838689611b86565b1615610f4757816116d96107b4838689611b86565b16600052600560209080825260ff604060002054166117016116fc858b8a611b86565b611baa565b1515901515146117bc578361178f887f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417936001976117546107b4898f61174e8f8f9284906116fc92611b86565b96611b86565b16600052855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61179d6107b485888b611b86565b16916117ad6116fc858b8a611b86565b6040519015158152a2016116a3565b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b34610447576020600319360112610447576001600160a01b03611807611aac565b166000526007602052602060ff604060002054166040519015158152f35b346104475761183336611a4b565b61183f60a08201611b96565b6001600160a01b03339116036118b65761185881612245565b8060005260066020526040806000205492013591828114610ed65760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104475760006003193601126104475760206001600160a01b0360035416604051908152f35b34610447576000600319360112610447576020611922611c48565b604051908152f35b3461044757604060031936011261044757611943611aac565b6024359081151590818303610447576001600160a01b0390611963611b14565b16918215610f47578260005260076020528160ff604060002054161515146117bc577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b916119ea602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b346104475760206003193601126104475760043567ffffffffffffffff811161044757611a29610c9f6020923690600401611a7e565b6040519015158152f35b34610447576020611922611a4636611a4b565b612245565b60031990602082820112610447576004359167ffffffffffffffff831161044757826101e0920301126104475760040190565b9181601f840112156104475782359167ffffffffffffffff8311610447576020838186019501011161044757565b600435906001600160a01b038216820361044757565b35906001600160a01b038216820361044757565b3590811515820361044757565b9181601f840112156104475782359167ffffffffffffffff8311610447576020808501948460051b01011161044757565b6001600160a01b03600154163303611b2857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156110935760051b0190565b356001600160a01b03811681036104475790565b3580151581036104475790565b91908110156110935760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610447570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610447570180359067ffffffffffffffff82116104475760200191813603831361044757565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611d79575b15611ca3577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611d4a5760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611c7a565b67ffffffffffffffff8111611d4a57604052565b6080810190811067ffffffffffffffff821117611d4a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611d4a57604052565b5190811515820361044757565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611eb7906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611e20565b03915afa908115611f1f576000928392611edf575b505081611ed7575090565b600191501490565b9080939250813d8311611f18575b611ef78183611dd2565b81010312611f1557506020611f0b82611e13565b9101513880611ecc565b80fd5b503d611eed565b82513d6000823e3d90fd5b67ffffffffffffffff8111611d4a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192611f7082611f2a565b91611f7e6040519384611dd2565b829481845281830111610447578281602093846000960137010152565b9080601f8301121561044757816020611fb693359101611f64565b90565b9190916101e0908181850312610447576040519182019067ffffffffffffffff9183811083821117611d4a576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261202260a08301611ac2565b60a085015261203360c08301611ac2565b60c085015261204460e08301611ac2565b60e0850152610100612057818401611ac2565b90850152610120612069818401611ac2565b9085015261014061207b818401611ad6565b9085015261016080830135908501526101808083013584811161044757826120a4918501611f9b565b908501526101a08083013584811161044757826120c2918501611f9b565b908501526101c09283830135908111610447576120df9201611f9b565b910152565b919082519283825260005b84811061212e5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016120ef565b90611fb6916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06121fa6101a09382858501526102008401906120e4565b928401516122357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526120e4565b94015192828503019101526120e4565b6020612255612288923690611fb9565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612142565b038173eb7147f25a90d167590bc53dbbda31505dba7abf5af490811561043b57600091612303575b506122b9611c48565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526122fd81611db6565b51902090565b906020823d821161232c575b8161231c60209383611dd2565b81010312611f15575051386122b0565b3d915061230f565b811561233e570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156124d7578061237e5750565b600181036123e45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361244a5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461245357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b90604181511460001461253457612530916020820151906060604084015193015160001a9061253e565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116125c15791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156125b45781516001600160a01b038116156125ae579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b03611fb698969360c0969386521660208501526040840152606083015260808201528160a08201520191611e20565b6001600160a01b0316308114908115612649575b5061261f57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612618565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561044757016020813591019167ffffffffffffffff821161044757813603831361044757565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104475760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611d4a5761274c9260405261274e565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611d4a576127df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612896573d916127c483611f2a565b926127d26040519485611dd2565b83523d868885013e61289a565b908151806127ee575b50505050565b82849181010312611f155750816128059101611e13565b15612812578080806127e8565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b9192901561291557508151156128ae575090565b3b156128b75790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129285750805190602001fd5b612966906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906120e4565b0390fd5b91601482106129a2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220e0e9142b0d4558f794fe4f0edfe20ddb1350030a5106dd35a7dfbb7df395ae5264736f6c63430008150033000000000000000000000000b7f3e3502c24bfcb864a0ea662aefd7f01a7a5920000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3d4" + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x537" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d5" + "nonce": "0x538" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", + "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xde3d13808433dd7a881ec8da4fe2e84b65db5229", - "gas": "0x5df43", + "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "gas": "0x5c4d5", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x3d6" + "nonce": "0x539" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,291 @@ ], "receipts": [ { - "transactionHash": "0xa55804179eb9779604efd300e484547c172365b781bd94fe5e407887a58a4dce", + "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", "transactionIndex": "0x0", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x44a0a", "gasUsed": "0x44a0a", - "contractAddress": "0xeb7147F25a90D167590bC53DbbdA31505DbA7abF", + "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", "logs": [], "status": "0x1", - "root": "0x087cf36179e4ffce9a17ba728cbffbbfbc3f01806b8e0efa8dcbf00fee772b11", + "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x3bd7e87859315449a58f9ba46205d5b9e71d775c4dd4c45d715ada1580aba6cf", + "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", "transactionIndex": "0x1", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", + "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", + "blockNumber": "0x382bd11", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0xb7F3E3502c24bfcb864A0EA662aefd7F01a7A592", + "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", "logs": [], "status": "0x1", - "root": "0x489668b401ba235ea3efe44c5e0188af31dd8fe3b815f890612e6fed42d3d315", + "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x2599a2", - "gasUsed": "0x2599a2", - "contractAddress": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "cumulativeGasUsed": "0x2645ef", + "gasUsed": "0x2645ef", + "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "logs": [ { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", "logIndex": "0x0", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", "logIndex": "0x1", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x9c368b1bacaaad78c64cd46f563f0e35d211bc7eeb6444d20c154bcc714b412f", - "blockNumber": "0x3480e2d", - "transactionHash": "0x6ba981c385537dbdb67b1dbd0b4a2d78dcecb4a07d49a6e661512950fc84e2ec", - "transactionIndex": "0x2", + "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", + "blockNumber": "0x382bd12", + "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "transactionIndex": "0x0", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xc93725a8cd65e0ed0262b451baa89e8860e95cdd28ef42935176d5310f0143f4", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000080000000000000000000000000000001000081000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", + "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", "transactionIndex": "0x0", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x77ce8b778a6066a23c4ea6ec58c1aeff5575d3076186a716677a874553b1da92", - "blockNumber": "0x3480e2e", - "transactionHash": "0x865fbc5cfe8e359fa05a01e81c51277720f8b14dff19990399a478bc4237feda", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", "transactionIndex": "0x0", "logIndex": "0x0", "removed": false } ], "status": "0x1", - "root": "0xa2f9d6a6c9ea1da7cd208eccad7be15834dcb99f319cb4f68dbda075cfd683b3", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000001000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", + "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", - "cumulativeGasUsed": "0x44056", - "gasUsed": "0x44056", + "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x0", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x1", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x1", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x2", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x2", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x3", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x3", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x4", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x4", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x5", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x5", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x6", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x6", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x7", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x7", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x8", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x8", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0x9", "removed": false }, { - "address": "0xdE3d13808433dd7a881Ec8Da4Fe2e84b65dB5229", + "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x94eeb188fc04a63a3e5ce88e3b2a6496140f5f19fa5bf1eff9c5952d820c11c9", - "blockNumber": "0x3480e2f", - "transactionHash": "0xbb5fcecf190a29e09f6d5cf1925e9f7796e75dae7fda288a68e732d1a3da5bc4", - "transactionIndex": "0x0", - "logIndex": "0x9", + "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", + "blockNumber": "0x382bd13", + "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "transactionIndex": "0x1", + "logIndex": "0xa", "removed": false } ], "status": "0x1", - "root": "0x70a2f6173d139a1ba331a4eb129ce58e1b67bc092be956df64f8e1853045507f", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001080800000000020002000000000000000000001000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000080001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", + "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xeb7147f25a90d167590bc53dbbda31505dba7abf" + "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" ], "pending": [], "returns": {}, - "timestamp": 1701074287, + "timestamp": 1703058489, "chain": 1891, "multi": false, - "commit": "e53f4d5" + "commit": "75e88b7" } \ No newline at end of file From 6686cdc533923d5f0236a55d1b8ca99bbad98e0e Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 20 Dec 2023 12:53:26 +0500 Subject: [PATCH 104/122] deploy on sepolia --- .../11155111/run-1703058645.json | 125 ++++++ .../11155111/run-1703058653.json | 398 ++++++++++++++++++ .../11155111/run-1703058726.json | 398 ++++++++++++++++++ .../11155111/run-latest.json | 398 ++++++++++++++++++ 4 files changed, 1319 insertions(+) create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-latest.json diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json new file mode 100644 index 0000000..1b43509 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json @@ -0,0 +1,125 @@ +{ + "transactions": [ + { + "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": null, + "arguments": [ + "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" + ], + "pending": [ + "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd" + ], + "returns": {}, + "timestamp": 1703058645, + "chain": 11155111, + "multi": false, + "commit": "dca82ce" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json new file mode 100644 index 0000000..98e412e --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json @@ -0,0 +1,398 @@ +{ + "transactions": [ + { + "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": null, + "arguments": [ + "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionIndex": "0x23", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x381bee", + "gasUsed": "0x44a0a", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionIndex": "0x24", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x3c9f4e", + "gasUsed": "0x48360", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x62e53d", + "gasUsed": "0x2645ef", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x32", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x33", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x34", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x63a060", + "gasUsed": "0xbb23", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "logIndex": "0x35", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x67cd94", + "gasUsed": "0x42d34", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x36", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x37", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x38", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x39", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3a", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3b", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3c", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3d", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3e", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" + ], + "pending": [], + "returns": {}, + "timestamp": 1703058653, + "chain": 11155111, + "multi": false, + "commit": "dca82ce" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json new file mode 100644 index 0000000..f58233a --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json @@ -0,0 +1,398 @@ +{ + "transactions": [ + { + "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": null, + "arguments": [ + "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionIndex": "0x23", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x381bee", + "gasUsed": "0x44a0a", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionIndex": "0x24", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x3c9f4e", + "gasUsed": "0x48360", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x62e53d", + "gasUsed": "0x2645ef", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x32", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x33", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x34", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x63a060", + "gasUsed": "0xbb23", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "logIndex": "0x35", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x67cd94", + "gasUsed": "0x42d34", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x36", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x37", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x38", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x39", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3a", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3b", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3c", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3d", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3e", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" + ], + "pending": [], + "returns": {}, + "timestamp": 1703058726, + "chain": 11155111, + "multi": false, + "commit": "dca82ce" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json b/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json new file mode 100644 index 0000000..f58233a --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json @@ -0,0 +1,398 @@ +{ + "transactions": [ + { + "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": null, + "arguments": [ + "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x31bd96", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionIndex": "0x23", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x381bee", + "gasUsed": "0x44a0a", + "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionIndex": "0x24", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x3c9f4e", + "gasUsed": "0x48360", + "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x62e53d", + "gasUsed": "0x2645ef", + "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x32", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x33", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "transactionIndex": "0x25", + "logIndex": "0x34", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x63a060", + "gasUsed": "0xbb23", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "transactionIndex": "0x26", + "logIndex": "0x35", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + }, + { + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x67cd94", + "gasUsed": "0x42d34", + "contractAddress": null, + "logs": [ + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x36", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x37", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x38", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x39", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3a", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3b", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3c", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3d", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3e", + "removed": false + }, + { + "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", + "blockNumber": "0x4b1b6b", + "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "transactionIndex": "0x27", + "logIndex": "0x3f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf28522aa" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" + ], + "pending": [], + "returns": {}, + "timestamp": 1703058726, + "chain": 11155111, + "multi": false, + "commit": "dca82ce" +} \ No newline at end of file From 951d56e27d96f6b80239636bccefb58e4a1ff43f Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 21 Dec 2023 12:09:03 +0500 Subject: [PATCH 105/122] OrderFill event update --- src/AdvancedOrderEngine.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index bc95b0a..8f76314 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -58,7 +58,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { EVENTS //////////////////////////////////////////////////////////////*/ - event OrderFill(bytes32 orderHash, uint256 filledSellAmount); + event OrderFill(bytes32 orderHash, uint256 filledSellAmount, uint executedSellAmount, uint256 executedBuyAmount, address indexed sellToken, address indexed buyToken, uint256 nonce, uint256 executedFee); event OperatorAccessModified(address indexed authorized, bool access); event OrderCanceled(bytes32 orderHash, uint256 filledSellAmount); event FeeCollectorChanged( @@ -712,7 +712,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { ); // Emit an event to log the order fill. - emit OrderFill(orderHash, sellTokensFilled); + emit OrderFill(orderHash, sellTokensFilled, executedSellAmount, executedBuyAmount, address(order.sellToken), address(order.buyToken), order.nonce, order.feeAmounts); } function _executePostInteraction( From 440a4a9819d37ec01adcd0d9afc9025c86dc0814 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 21 Dec 2023 12:15:09 +0500 Subject: [PATCH 106/122] new deploy --- .../11155111/run-1703058645.json | 125 ------ .../11155111/run-1703058653.json | 398 ------------------ .../11155111/run-1703058726.json | 398 ------------------ .../11155111/run-1703142616.json | 125 ++++++ .../11155111/run-1703142631.json | 398 ++++++++++++++++++ .../11155111/run-1703142685.json | 398 ++++++++++++++++++ .../11155111/run-latest.json | 288 ++++++------- .../1891/run-1703058457.json | 120 ------ .../1891/run-1703058464.json | 393 ----------------- .../1891/run-1703058489.json | 393 ----------------- .../1891/run-1703142779.json | 120 ++++++ .../1891/run-1703142780.json | 393 +++++++++++++++++ .../1891/run-1703142822.json | 393 +++++++++++++++++ .../1891/run-latest.json | 274 ++++++------ 14 files changed, 2108 insertions(+), 2108 deletions(-) delete mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json delete mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json delete mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703142616.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703142631.json create mode 100644 broadcast/deployOrderEngine.s.sol/11155111/run-1703142685.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json deleted file mode 100644 index 1b43509..0000000 --- a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058645.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x2", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": null, - "arguments": [ - "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x4", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" - ], - "pending": [ - "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd" - ], - "returns": {}, - "timestamp": 1703058645, - "chain": 11155111, - "multi": false, - "commit": "dca82ce" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json deleted file mode 100644 index 98e412e..0000000 --- a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058653.json +++ /dev/null @@ -1,398 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x2", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": null, - "arguments": [ - "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x4", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "transactionIndex": "0x23", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x381bee", - "gasUsed": "0x44a0a", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "transactionIndex": "0x24", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x3c9f4e", - "gasUsed": "0x48360", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x62e53d", - "gasUsed": "0x2645ef", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x32", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x33", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x34", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x63a060", - "gasUsed": "0xbb23", - "contractAddress": null, - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "logIndex": "0x35", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x67cd94", - "gasUsed": "0x42d34", - "contractAddress": null, - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x36", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x37", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x38", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x39", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3a", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3b", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3c", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3d", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3e", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3f", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" - ], - "pending": [], - "returns": {}, - "timestamp": 1703058653, - "chain": 11155111, - "multi": false, - "commit": "dca82ce" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json deleted file mode 100644 index f58233a..0000000 --- a/broadcast/deployOrderEngine.s.sol/11155111/run-1703058726.json +++ /dev/null @@ -1,398 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x2", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": null, - "arguments": [ - "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x4", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x02", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", - "transactionIndex": "0x23", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x381bee", - "gasUsed": "0x44a0a", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", - "transactionIndex": "0x24", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x3c9f4e", - "gasUsed": "0x48360", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x62e53d", - "gasUsed": "0x2645ef", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x32", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x33", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x34", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x63a060", - "gasUsed": "0xbb23", - "contractAddress": null, - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "logIndex": "0x35", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - }, - { - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x67cd94", - "gasUsed": "0x42d34", - "contractAddress": null, - "logs": [ - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x36", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x37", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x38", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x39", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3a", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3b", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3c", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3d", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3e", - "removed": false - }, - { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3f", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xf28522aa" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" - ], - "pending": [], - "returns": {}, - "timestamp": 1703058726, - "chain": 11155111, - "multi": false, - "commit": "dca82ce" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703142616.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142616.json new file mode 100644 index 0000000..997a512 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142616.json @@ -0,0 +1,125 @@ +{ + "transactions": [ + { + "hash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": null, + "arguments": [ + "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000041023ee1bb9d3770c7eeb0ce2935e7d766c77e010000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xfb3e436cafc6723d160d17ff33b38598156ac102" + ], + "pending": [ + "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b" + ], + "returns": {}, + "timestamp": 1703142616, + "chain": 11155111, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703142631.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142631.json new file mode 100644 index 0000000..1c93640 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142631.json @@ -0,0 +1,398 @@ +{ + "transactions": [ + { + "hash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": null, + "arguments": [ + "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000041023ee1bb9d3770c7eeb0ce2935e7d766c77e010000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "transactionIndex": "0x23", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x468d80", + "gasUsed": "0x44a0a", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "transactionIndex": "0x24", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x4b10e0", + "gasUsed": "0x48360", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x75faf4", + "gasUsed": "0x267aee", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x52", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x53", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x54", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020000000000000000040000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x76b617", + "gasUsed": "0xbb23", + "contractAddress": null, + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "logIndex": "0x55", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x000a0000000000000000040000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x7ae34b", + "gasUsed": "0x42d34", + "contractAddress": null, + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x56", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x57", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x58", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x59", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5a", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5b", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5c", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5d", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5e", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020002100000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000100800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xfb3e436cafc6723d160d17ff33b38598156ac102" + ], + "pending": [], + "returns": {}, + "timestamp": 1703142631, + "chain": 11155111, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-1703142685.json b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142685.json new file mode 100644 index 0000000..2cd0e14 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-1703142685.json @@ -0,0 +1,398 @@ +{ + "transactions": [ + { + "hash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": null, + "arguments": [ + "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000041023ee1bb9d3770c7eeb0ce2935e7d766c77e010000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x02", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x1be38977300a4077e1d632467782017b452971d8", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", + "transactionIndex": "0x23", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x468d80", + "gasUsed": "0x44a0a", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", + "transactionIndex": "0x24", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x4b10e0", + "gasUsed": "0x48360", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x75faf4", + "gasUsed": "0x267aee", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x52", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x53", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x54", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020000000000000000040000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x76b617", + "gasUsed": "0xbb23", + "contractAddress": null, + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "logIndex": "0x55", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x000a0000000000000000040000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + }, + { + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x7ae34b", + "gasUsed": "0x42d34", + "contractAddress": null, + "logs": [ + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x56", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x57", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x58", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x59", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5a", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5b", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5c", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5d", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5e", + "removed": false + }, + { + "address": "0x1bE38977300a4077e1d632467782017b452971d8", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00020002100000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000100800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x4b4e47e06" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xfb3e436cafc6723d160d17ff33b38598156ac102" + ], + "pending": [], + "returns": {}, + "timestamp": 1703142685, + "chain": 11155111, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json b/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json index f58233a..2cd0e14 100644 --- a/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/11155111/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "hash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", "function": null, "arguments": null, "transaction": { @@ -12,17 +12,17 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x1", + "nonce": "0x6", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "hash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", "function": null, "arguments": null, "transaction": { @@ -31,39 +31,39 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x2", + "nonce": "0x7", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", + "hash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", "function": null, "arguments": [ - "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { "type": "0x02", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", + "gas": "0x320276", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b03817362bcec87e7755fa1c28eba80d0543dd3386efdcc5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000ea8521d75cc9f2f778896b446e3ed8582c9c1f590000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x3", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173fb3e436cafc6723d160d17ff33b38598156ac1025af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000041023ee1bb9d3770c7eeb0ce2935e7d766c77e010000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x8", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", + "hash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -72,21 +72,21 @@ "transaction": { "type": "0x02", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "to": "0x1be38977300a4077e1d632467782017b452971d8", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x4", + "nonce": "0x9", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", + "hash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -95,11 +95,11 @@ "transaction": { "type": "0x02", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xca6baee577b8430bfe4d8ad7d4884eda81fad909", + "to": "0x1be38977300a4077e1d632467782017b452971d8", "gas": "0x5c4d5", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x5", + "nonce": "0xa", "accessList": [] }, "additionalContracts": [], @@ -108,291 +108,291 @@ ], "receipts": [ { - "transactionHash": "0x6511f25bee6835f403d6458ed937dac1de118f6f67217e94c993f93628204a6d", + "transactionHash": "0x84e9a949bd1891141ec9e5c8043ef72b22d519b9cf2e8234c260b07d2206b436", "transactionIndex": "0x23", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x381bee", + "cumulativeGasUsed": "0x468d80", "gasUsed": "0x44a0a", - "contractAddress": "0x62bCEC87E7755fA1c28EBa80D0543dD3386EFDCC", + "contractAddress": "0xfb3E436cAFC6723d160D17fF33b38598156aC102", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf28522aa" + "effectiveGasPrice": "0x4b4e47e06" }, { - "transactionHash": "0xa0c30a56dc5854e4ddcf63c1e89f8394be1552bb238fc9ab4df18fc5f76c44be", + "transactionHash": "0x12ba03167ef5332e85d2bc822a30d73574c7d689fdfd4b90ade6b927c40a8724", "transactionIndex": "0x24", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x3c9f4e", + "cumulativeGasUsed": "0x4b10e0", "gasUsed": "0x48360", - "contractAddress": "0xEa8521d75Cc9f2F778896B446E3ED8582C9c1F59", + "contractAddress": "0x41023Ee1Bb9d3770c7eeb0Ce2935e7d766c77E01", "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf28522aa" + "effectiveGasPrice": "0x4b4e47e06" }, { - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x62e53d", - "gasUsed": "0x2645ef", - "contractAddress": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "cumulativeGasUsed": "0x75faf4", + "gasUsed": "0x267aee", + "contractAddress": "0x1bE38977300a4077e1d632467782017b452971d8", "logs": [ { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x32", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x52", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x33", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x53", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0x6bf486621dad3de6c258ccb2edd9a52a849e623b3ff82ce540f1c98ff5fa3085", - "transactionIndex": "0x25", - "logIndex": "0x34", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x7d6f5d436a66e3817950f3222c6eb48f591cd50446d90b2b246924bcb5d1a6ce", + "transactionIndex": "0x26", + "logIndex": "0x54", "removed": false } ], "status": "0x1", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000040000000000020000000000000002000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080020000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x00020000000000000000040000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf28522aa" + "effectiveGasPrice": "0x4b4e47e06" }, { - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x63a060", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x76b617", "gasUsed": "0xbb23", "contractAddress": null, "logs": [ { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xca071a2d334bc24fce5581ba84d533e0243cf21683686bda497a7222e9a7062b", - "transactionIndex": "0x26", - "logIndex": "0x35", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0xbe4e1fe9aa606e246e1397f5f3ac597e24febd93d68e1c80888b5c4bd798b526", + "transactionIndex": "0x27", + "logIndex": "0x55", "removed": false } ], "status": "0x1", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000", + "logsBloom": "0x000a0000000000000000040000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf28522aa" + "effectiveGasPrice": "0x4b4e47e06" }, { - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", - "cumulativeGasUsed": "0x67cd94", + "to": "0x1bE38977300a4077e1d632467782017b452971d8", + "cumulativeGasUsed": "0x7ae34b", "gasUsed": "0x42d34", "contractAddress": null, "logs": [ { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x36", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x56", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x37", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x57", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x38", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x58", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x39", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x59", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3a", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5a", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3b", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5b", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3c", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5c", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3d", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5d", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3e", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5e", "removed": false }, { - "address": "0xcA6BAeE577b8430BFE4d8AD7d4884edA81FAD909", + "address": "0x1bE38977300a4077e1d632467782017b452971d8", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xd31a84bcdb2dfd53f5f1012c903b6b29b345e0c404ca81681ec441bfa590a3ca", - "blockNumber": "0x4b1b6b", - "transactionHash": "0xdc964dc1438ad04e0aacbb95c8a2f274a8b3c4800952990907a786a6736ac1fd", - "transactionIndex": "0x27", - "logIndex": "0x3f", + "blockHash": "0xe1e037cbec533ffe56b44c313a8fd18aa092c7356e8eaab1716b686c729c6bb7", + "blockNumber": "0x4b3432", + "transactionHash": "0x004bc515c6c04b675f94652df174ea06460ccc8c7308bf93633efb9d4343d05b", + "transactionIndex": "0x28", + "logIndex": "0x5f", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800040002000020000001000010020002000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000880000000000000000000000000000000000000800000000000000002000000000000000", + "logsBloom": "0x00020002100000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000100800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x2", - "effectiveGasPrice": "0xf28522aa" + "effectiveGasPrice": "0x4b4e47e06" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x62bcec87e7755fa1c28eba80d0543dd3386efdcc" + "src/libraries/OrderEngine.sol:OrderEngine:0xfb3e436cafc6723d160d17ff33b38598156ac102" ], "pending": [], "returns": {}, - "timestamp": 1703058726, + "timestamp": 1703142685, "chain": 11155111, "multi": false, - "commit": "dca82ce" + "commit": "951d56e" } \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json deleted file mode 100644 index e5bb7cd..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703058457.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x535" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x536" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": null, - "arguments": [ - "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x537" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x538" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x539" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" - ], - "pending": [ - "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa" - ], - "returns": {}, - "timestamp": 1703058457, - "chain": 1891, - "multi": false, - "commit": "75e88b7" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json deleted file mode 100644 index cfb3955..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703058464.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x535" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x536" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": null, - "arguments": [ - "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x537" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x538" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x539" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "transactionIndex": "0x0", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", - "logs": [], - "status": "0x1", - "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "transactionIndex": "0x1", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "logs": [], - "status": "0x1", - "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x2645ef", - "gasUsed": "0x2645ef", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", - "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", - "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "cumulativeGasUsed": "0x42d34", - "gasUsed": "0x42d34", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x2", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x9", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", - "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" - ], - "pending": [], - "returns": {}, - "timestamp": 1703058464, - "chain": 1891, - "multi": false, - "commit": "75e88b7" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json deleted file mode 100644 index f4ab806..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703058489.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x535" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x536" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": null, - "arguments": [ - "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x537" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x538" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x539" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", - "transactionIndex": "0x0", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", - "logs": [], - "status": "0x1", - "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", - "transactionIndex": "0x1", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", - "logs": [], - "status": "0x1", - "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x2645ef", - "gasUsed": "0x2645ef", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", - "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", - "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "cumulativeGasUsed": "0x42d34", - "gasUsed": "0x42d34", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x2", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x3", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x9", - "removed": false - }, - { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", - "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" - ], - "pending": [], - "returns": {}, - "timestamp": 1703058489, - "chain": 1891, - "multi": false, - "commit": "75e88b7" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json new file mode 100644 index 0000000..9ac7b78 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x54c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x54d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": null, + "arguments": [ + "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x54e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x54f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x550" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" + ], + "pending": [ + "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac" + ], + "returns": {}, + "timestamp": 1703142779, + "chain": 1891, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json new file mode 100644 index 0000000..6bdebd2 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x54c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x54d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": null, + "arguments": [ + "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x54e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x54f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x550" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "logs": [], + "status": "0x1", + "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionIndex": "0x1", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "logs": [], + "status": "0x1", + "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x267aee", + "gasUsed": "0x267aee", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", + "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", + "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", + "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" + ], + "pending": [], + "returns": {}, + "timestamp": 1703142780, + "chain": 1891, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json new file mode 100644 index 0000000..294bb60 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x54c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x54d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": null, + "arguments": [ + "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x320276", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x54e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x54f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x550" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "logs": [], + "status": "0x1", + "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionIndex": "0x1", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "logs": [], + "status": "0x1", + "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x267aee", + "gasUsed": "0x267aee", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", + "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", + "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", + "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" + ], + "pending": [], + "returns": {}, + "timestamp": 1703142822, + "chain": 1891, + "multi": false, + "commit": "951d56e" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json index f4ab806..294bb60 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x535" + "nonce": "0x54c" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", "function": null, "arguments": null, "transaction": { @@ -30,37 +30,37 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x536" + "nonce": "0x54d" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", + "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "function": null, "arguments": [ - "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x31bd96", + "gas": "0x320276", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002d99601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ad19283620002c8843960805183611d50015260a05183611e4b015260c05183611d21015260e05183611d9f01525182611dc501525181611d7c0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b0257806315169dec14611ac25780632024cbc1146119cf5780633644e515146119ac5780633c3efab4146119855780635f2a6451146118ca57806369328dec146118315780636d70f7ae146117f25780636fda538f146116b0578063715018a61461163457806379ba50971461152e5780638da5cb5b146115075780638efede3d1461143557806390d6e14c14611363578063ab37f48614611324578063c2ee3a0814611301578063c415b95c146112da578063cf0f969d146112ae578063e30c397814611287578063f2fde38b146112055763fe61e35c1461010457600080fd5b346104515760e06003193601126104515767ffffffffffffffff60043581811161045157610136903690600401611bb2565b610120526101605260243581811161045157610156903690600401611bb2565b60e0526101005260443581811161045157610175903690600401611bb2565b60c0526101405260643581811161045157610194903690600401611bb2565b608435838111610451576101ac903690600401611b4d565b919060a435858111610451576101c6903690600401611bb2565b93909560c43511610451576101e03660c435600401611bb2565b93909533600052600760205260ff60406000205416156111d557600260005414611177576002600055610120511561114d5760e051610120511480159061113f575b8015611133575b6108235760005b61012051811061084d575050506014811015610456575b50505050505060005b610120518110610261576001600055005b610272816101205161016051611c86565b906102838160e05161010051611c55565b35916102958260c05161014051611c55565b35906102a081612314565b916102ae6101208301611c65565b906103116102be60e08501611c65565b92604051907fa9059cbb0000000000000000000000000000000000000000000000000000000060208301526001600160a01b0380951660248301528360448301526044825261030c82611e85565b61281d565b836000526006602052604060002054926101c081019660146103338984611cc6565b9050101561037a575b50505050600193507ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac9160409182519182526020820152a101610250565b6103aa61039461038e60a098979a85611cc6565b90612a39565b98916103a2819892986126d3565b169301611c65565b95823b156104515788966103f46000969287936040519a8b98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d6004890161269c565b03925af1908115610445576001947ffa6ef828a215141fc99a4f103e9d347b133528f2f97737bbd858b0d0514601ac93604093610436575b829482945061033c565b61043f90611e71565b3861042c565b6040513d6000823e3d90fd5b600080fd5b61045f91612a39565b90949160805293926104726080516126d3565b8281036108235760005b8181106107aa57506001600160a01b03608051163b156104515760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b6101205181106106025750505061054161052560209260031960a051820301602460a051015260e05161010051612771565b60031960a051820301604460a051015260c05161014051612771565b60031960a051820301606460a051015282815201959060005b8181106105da575050506000946105a1926105849260031960a051840301608460a0510152612771565b60031960a05182030160a460a051015260a0519360a05193611eef565b0360a051836001600160a01b03608051165af18015610445576105ca575b388080808080610247565b6105d560a051611e71565b6105bf565b9091966020806001926001600160a01b036105f48c611b91565b16815201980192910161055a565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561045157602061079f60019382936101605101906107806107646101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b036106b7828801611b91565b16908501526001600160a01b036106d060c08701611b91565b1660c08501526001600160a01b036106ea60e08701611b91565b1660e08501526101006001600160a01b03610706828801611b91565b16908501526101206001600160a01b03610721828801611b91565b1690850152610140610734818701611ba5565b1515908501526101608086013590850152610180908061075683880188612721565b929093870152850191611eef565b6101a061077381860186612721565b9185840390860152611eef565b916107916101c09182810190612721565b929091818503910152611eef565b9501930191016104f3565b8061081d6107c36107be600194868c611c55565b611c65565b6107ce838888611c55565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030c82611e85565b0161047c565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b61085e816101205161016051611c86565b9061086f8160e05161010051611c55565b35916108818260c05161014051611c55565b3592858310156111045761089a8360051b860186611cc6565b9180916108a685612314565b91602086013542116110d3576060860135159081156110c6575b81156110bd575b5080156110b5575b61108b576001600160a01b036108e86101208701611c65565b16600052600560205260ff60406000205416158015611062575b611038576109136101008601611c65565b6001600160a01b03806109296101208901611c65565b1691161461100e576001600160a01b0361094560a08701611c65565b16158015610ff1575b8015610fd4575b8015610fb8575b610f8e5760c085016001600160a01b0361097582611c65565b1615159081610f71575b50610f4757816000526006602052604060002054604086013514610f1d576109aa6101408601611c79565b15610eeb57670de0b6b3a7640000808402848104821485151715610e9257886109d291612403565b906040870135808202918115918304141715610e92576109f790606088013590612403565b10610ec1578160005260066020526040600020805490848201809211610e92575560808501358084810204841481151715610e9257610a3d908460408801359102612403565b826000526006602052604086013560406000205411610e6857935b610a9a6020610a673689612088565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af490811561044557600091610e2e575b5015610dc657610b28916020916001600160a01b03610ae360a08a01611c65565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611eef565b03915afa90811561044557600091610d4b575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d21575b6101808401610b958186611cc6565b9050610cd9575b506014610bad6101a0860186611cc6565b90501015610c17575b5060019450610bdf90610bcc6101008501611c65565b90610bd960a08601611c65565b916127ae565b80610bed575b505001610230565b610bfd610100610c109301611c65565b906001600160a01b0360045416916127ae565b3880610be5565b610c2861038e6101a0860186611cc6565b909192610c34846126d3565b610c4060a08801611c65565b91816000526006602052604060002054936001600160a01b0386163b156104515786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610c9c9761269c565b03916001600160a01b031691815a6000948591f190811561044557600195610bdf92610cca575b5090610bb6565b610cd390611e71565b38610cc3565b610ce6610cec9186611cc6565b90611f2e565b15610cf75738610b9c565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dbe575b81610d6660209383611ea1565b8101031261045157517fffffffff0000000000000000000000000000000000000000000000000000000081168103610451577fffffffff00000000000000000000000000000000000000000000000000000000610b3b565b3d9150610d59565b610dd8610de692610dde923691612033565b836125d5565b91909161243c565b6001600160a01b0380610dfb60a08801611c65565b1691160315610b865760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e60575b81610e4960209383611ea1565b8101031261045157610e5a90611ee2565b38610ac2565b3d9150610e3c565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610ec1576040840135916080850135938260005260066020526040860135604060002055610a58565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610f853392611c65565b1614153861097f565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b03610fcd60e08701611c65565b161561095c565b506001600160a01b03610fea6101008701611c65565b1615610955565b506001600160a01b036110076101208701611c65565b161561094e565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110786101008701611c65565b1660005260ff6040600020541615610902565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b5086156108cf565b905015386108c7565b60408701351591506108c0565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610229565b5060c05160e0511415610222565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104515760206003193601126104515761121e611b7b565b611226611be3565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104515760006003193601126104515760206001600160a01b0360025416604051908152f35b346104515760206003193601126104515760043560005260066020526020604060002054604051908152f35b346104515760006003193601126104515760206001600160a01b0360045416604051908152f35b34610451576000600319360112610451576020604051670de0b6b3a76400008152f35b34610451576020600319360112610451576001600160a01b03611345611b7b565b166000526005602052602060ff604060002054166040519015158152f35b34610451576020600319360112610451576004356001600160a01b0380821680920361045157611391611be3565b8115610f8e576003549081169082821461140b57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515761144e611b7b565b611456611be3565b6001600160a01b0390818116918215610f8e576004549081168381146114dd57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360015416604051908152f35b34610451576000600319360112610451576002546001600160a01b0333818316036115b0577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104515760006003193601126104515761164d611be3565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104515760406003193601126104515767ffffffffffffffff600435818111610451576116e2903690600401611bb2565b91602435908111610451576116fb903690600401611bb2565b92611704611be3565b801561114d578381036108235760005b81811061171d57005b6001600160a01b0390816117356107be838689611c55565b1615610f8e576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761177261176d848a89611c55565b611c79565b91806117826107be86898c611c55565b166000526117c56020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6117d36107be85888b611c55565b16916117e361176d858b8a611c55565b6040519015158152a201611714565b34610451576020600319360112610451576001600160a01b03611813611b7b565b166000526007602052602060ff604060002054166040519015158152f35b346104515760606003193601126104515761184a611b7b565b604435906001600160a01b039081831680930361045157611869611be3565b1690811580156118c2575b610f8e576118c091604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030c82611e85565b005b508015611874565b34610451576118d836611b1a565b6118e460a08201611c65565b6001600160a01b033391160361195b576118fd81612314565b8060005260066020526040806000205492013591828114610f1d5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104515760006003193601126104515760206001600160a01b0360035416604051908152f35b346104515760006003193601126104515760206119c7611d17565b604051908152f35b34610451576040600319360112610451576119e8611b7b565b6024359081151590818303610451576001600160a01b0390611a08611be3565b16918215610f8e578260005260076020528160ff60406000205416151514611a98577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611a8f602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104515760206003193601126104515760043567ffffffffffffffff811161045157611af8610ce66020923690600401611b4d565b6040519015158152f35b346104515760206119c7611b1536611b1a565b612314565b60031990602082820112610451576004359167ffffffffffffffff831161045157826101e0920301126104515760040190565b9181601f840112156104515782359167ffffffffffffffff8311610451576020838186019501011161045157565b600435906001600160a01b038216820361045157565b35906001600160a01b038216820361045157565b3590811515820361045157565b9181601f840112156104515782359167ffffffffffffffff8311610451576020808501948460051b01011161045157565b6001600160a01b03600154163303611bf757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111045760051b0190565b356001600160a01b03811681036104515790565b3580151581036104515790565b91908110156111045760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2181360301821215610451570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610451570180359067ffffffffffffffff82116104515760200191813603831361045157565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e48575b15611d72577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e195760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d49565b67ffffffffffffffff8111611e1957604052565b6080810190811067ffffffffffffffff821117611e1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e1957604052565b5190811515820361045157565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611f86906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611eef565b03915afa908115611fee576000928392611fae575b505081611fa6575090565b600191501490565b9080939250813d8311611fe7575b611fc68183611ea1565b81010312611fe457506020611fda82611ee2565b9101513880611f9b565b80fd5b503d611fbc565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e1957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261203f82611ff9565b9161204d6040519384611ea1565b829481845281830111610451578281602093846000960137010152565b9080601f830112156104515781602061208593359101612033565b90565b9190916101e0908181850312610451576040519182019067ffffffffffffffff9183811083821117611e1957604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526120f160a08301611b91565b60a085015261210260c08301611b91565b60c085015261211360e08301611b91565b60e0850152610100612126818401611b91565b90850152610120612138818401611b91565b9085015261014061214a818401611ba5565b90850152610160808301359085015261018080830135848111610451578261217391850161206a565b908501526101a080830135848111610451578261219191850161206a565b908501526101c09283830135908111610451576121ae920161206a565b910152565b919082519283825260005b8481106121fd5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121be565b90612085916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06122c96101a09382858501526102008401906121b3565b928401516123047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121b3565b94015192828503019101526121b3565b6020612324612357923690612088565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612211565b038173012f3c733ee0e1c2e2a4cded919d396dad65e41f5af4908115610445576000916123d2575b50612388611d17565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526123cc81611e85565b51902090565b906020823d82116123fb575b816123eb60209383611ea1565b81010312611fe45750513861237f565b3d91506123de565b811561240d570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125a6578061244d5750565b600181036124b35760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125195760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461252257565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b906041815114600014612603576125ff916020820151906060604084015193015160001a9061260d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126905791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126835781516001600160a01b0381161561267d579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361208598969360c0969386521660208501526040840152606083015260808201528160a08201520191611eef565b6001600160a01b0316308114908115612718575b506126ee57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386126e7565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045157016020813591019167ffffffffffffffff821161045157813603831361045157565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104515760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e195761281b9260405261281d565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e19576128ae916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612965573d9161289383611ff9565b926128a16040519485611ea1565b83523d868885013e612969565b908151806128bd575b50505050565b82849181010312611fe45750816128d49101611ee2565b156128e1578080806128b7565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b919290156129e4575081511561297d575090565b3b156129865790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156129f75750805190602001fd5b612a35906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121b3565b0390fd5b9160148210612a71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220610194251f34924ce4b6a3e0f078bd068439557c8b4113ce8e833ddaa29b40f664736f6c63430008150033000000000000000000000000b2c540efa9456d7379ca0bc55e8bb488bcfa42b50000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x537" + "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x54e" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", + "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x538" + "nonce": "0x54f" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", + "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xdf4a3d29e05ea35da3ef9baf69faaa7ee30434fe", + "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", "gas": "0x5c4d5", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x539" + "nonce": "0x550" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,291 @@ ], "receipts": [ { - "transactionHash": "0xde1dd0bd855a5551f618be4a0a8dc435c43af491fec4edd8a3dcf11d85ec50e3", + "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", "transactionIndex": "0x0", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x44a0a", "gasUsed": "0x44a0a", - "contractAddress": "0x012F3c733Ee0e1c2e2a4CDeD919D396DaD65e41F", + "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", "logs": [], "status": "0x1", - "root": "0x255999b6a68da750dd27a82d5113a84a7acd3a879407a33385f1cdbc945d2a34", + "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xe180eb8077b93447e3402dc07afd4b29610f1d2e7ec49cb7600e0359a3e65663", + "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", "transactionIndex": "0x1", - "blockHash": "0xbd9af760b2a306d7e33e23e9953f27159d0a948241b13d67e80e359f550d5d23", - "blockNumber": "0x382bd11", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0xb2c540Efa9456D7379Ca0Bc55e8bb488bCfA42B5", + "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", "logs": [], "status": "0x1", - "root": "0xe3f9a9532ce7d0d1ec7f156c3b84b49313c2dd4bcfd7cc115e7c7ff07153fa2c", + "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x2645ef", - "gasUsed": "0x2645ef", - "contractAddress": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "cumulativeGasUsed": "0x267aee", + "gasUsed": "0x267aee", + "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "logs": [ { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", "logIndex": "0x0", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x31bd757c1b64661f607b06bf583da032a5c37e7f824b6f7031b3cd7c6796e145", - "blockNumber": "0x382bd12", - "transactionHash": "0x562e9e58ab2e8c8898c0e9388b9bf009f462c3af6d8b33493ac3595c7d141125", - "transactionIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xe9a4d91af5804c0a1bb7f560d645c81069452925094680dc7a6a29d2098c05f2", - "logsBloom": "0x00020000000000010000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000010000000000000000000000000000020000000000000000000800000800000000000080000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", + "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xdcfad8c2613c8399ddcaab2f1d993456f16826903972452dfdef7a1cc0033b33", - "transactionIndex": "0x0", - "logIndex": "0x0", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionIndex": "0x3", + "logIndex": "0x3", "removed": false } ], "status": "0x1", - "root": "0x9922ae7f3c89bada2ec541d433e1c8d85d72686acc0cd6ba7c50d9fdeb49591a", - "logsBloom": "0x00080000000000010000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", + "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "cumulativeGasUsed": "0x42d34", "gasUsed": "0x42d34", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x1", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x4", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x2", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x5", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x3", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x6", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x4", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x7", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x5", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x8", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x6", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0x9", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x7", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xa", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x8", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xb", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0x9", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xc", "removed": false }, { - "address": "0xDf4A3d29E05EA35dA3EF9bAf69fAAa7eE30434FE", + "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x35a6564cf4367cb0a9970eb132f3145e9cc1e1f9ffcddda2a54475ccf9e403e6", - "blockNumber": "0x382bd13", - "transactionHash": "0xb21c7bdd06f81d8afc68dfb5019d21b7afa4c143dfd3cb9ac815d82de88b9baa", - "transactionIndex": "0x1", - "logIndex": "0xa", + "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", + "blockNumber": "0x3854cb1", + "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionIndex": "0x4", + "logIndex": "0xd", "removed": false } ], "status": "0x1", - "root": "0x0314dcab9637a299c21d9b4c86e4857798203ee26862b02aa5d7d7cd84ac2503", - "logsBloom": "0x00000002100000010000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000010000000000000800000002000020000001000010020000000000000000000000000080000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", + "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x012f3c733ee0e1c2e2a4cded919d396dad65e41f" + "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" ], "pending": [], "returns": {}, - "timestamp": 1703058489, + "timestamp": 1703142822, "chain": 1891, "multi": false, - "commit": "75e88b7" + "commit": "951d56e" } \ No newline at end of file From efa8b6a1dd5b9c6ffffd7c5998eafde332dd2356 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 12:53:23 +0500 Subject: [PATCH 107/122] select fork --- test/AdvancedOrderEngine.t.sol | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index c54ca8d..a957069 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -46,6 +46,7 @@ contract AdvancedOrderEngineTest is Test { function setUp() public { + vm.createSelectFork(vm.envString("MAINNET_RPC_URL"), 18561278); vm.startPrank(admin); predicates = new Predicates(); @@ -188,7 +189,7 @@ contract AdvancedOrderEngineTest is Test { ISwapRouter02.ExactInputSingleParams ( address(weth), address(usdc), - 500, + 3000, operator, 1 ether, 0, From 2290b4de27fc65621ac0bff01fdb7ddfea962df7 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 16:37:43 +0500 Subject: [PATCH 108/122] Breaking Change - Precicison Loss: executedAmounts to be sent in (upto) 1e36, scale down for processing --- src/AdvancedOrderEngine.sol | 16 ++ ...litatorInteractionNotificationReceiver.sol | 1 + .../IPostInteractionNotificationReceiver.sol | 1 + .../IPreInteractionNotificationReceiver.sol | 1 + test/AdvancedOrderEngine.t.sol | 146 +++++++++--------- 5 files changed, 92 insertions(+), 73 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index 8f76314..839b9e8 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -279,6 +279,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { * @param borrowedAmounts An array specifying the corresponding amounts of each token the facilitator wants to borrow. * @param signatures An array of signatures, each corresponding to an order, used for order validation. * @param facilitatorInteraction Calldata for the facilitator's interaction. + * @dev `executedSellAmounts` & `executedBuyAmounts` have to be scaled up to 1e36 for precision (i.e multiply by 1e18), we scale them down later. */ function fillOrders( OrderEngine.Order[] calldata orders, @@ -452,6 +453,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { executedSellAmount, executedBuyAmount ); + + // scale down + executedBuyAmount = executedBuyAmount / ONE; + executedSellAmount = executedSellAmount / ONE; } // If the order is fill or kill. else { @@ -465,6 +470,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { // Update the total filled sell amount for this order to match the order's original sell token amount. filledSellAmount[orderHash] = executedSellAmount; + + // scale down only buy amount because `executedSellAmount` is updated above + executedBuyAmount = executedBuyAmount / ONE; + } // Verifies the signature of an order.. @@ -562,6 +571,9 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { revert LimitPriceNotRespected(); } + // scale down + executedSellAmount = executedSellAmount / ONE; + // Update the total filled sell amount for this order. filledSellAmount[orderHash] += executedSellAmount; @@ -696,6 +708,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { ) private { bytes32 orderHash = getOrderHash(order); + // scale down + executedBuyAmount = executedBuyAmount / ONE; + executedSellAmount = executedSellAmount / ONE; + // Transfer the buy tokens to the recipient. _sendAsset(order.buyToken, executedBuyAmount, order.recipient); diff --git a/src/interfaces/IFacilitatorInteractionNotificationReceiver.sol b/src/interfaces/IFacilitatorInteractionNotificationReceiver.sol index b862470..c9efc26 100644 --- a/src/interfaces/IFacilitatorInteractionNotificationReceiver.sol +++ b/src/interfaces/IFacilitatorInteractionNotificationReceiver.sol @@ -17,6 +17,7 @@ interface IFacilitatorInteractionNotificationReceiver { * @param borrowedTokens An array of token addresses the facilitator wants to borrow from the vault. * @param borrowedAmounts An array specifying the corresponding amounts of each token the facilitator wants to borrow. * @param interactionData Interaction calldata + * @dev `executedSellAmounts` and `executedBuyAmounts` have to be divided by 1e18 since contract recieves them scaled upto 1e36 */ function fillOrderInteraction( OrderEngine.Order[] calldata orders, diff --git a/src/interfaces/IPostInteractionNotificationReceiver.sol b/src/interfaces/IPostInteractionNotificationReceiver.sol index 143f9b2..b915e2a 100644 --- a/src/interfaces/IPostInteractionNotificationReceiver.sol +++ b/src/interfaces/IPostInteractionNotificationReceiver.sol @@ -14,6 +14,7 @@ interface IPostInteractionNotificationReceiver { * @param executedBuyAmount Buy token amount offered by the facilitator to the maker. * @param filledSellAmount Amount of sell tokens that would be filled after this transaction is completed. * @param interactionData Interaction calldata + * @dev `executedSellAmounts` & `executedBuyAmounts` DO NOT have to be scaled down by 1e18 */ function fillOrderPostInteraction( bytes32 orderHash, diff --git a/src/interfaces/IPreInteractionNotificationReceiver.sol b/src/interfaces/IPreInteractionNotificationReceiver.sol index f42c4e0..72ad7e8 100644 --- a/src/interfaces/IPreInteractionNotificationReceiver.sol +++ b/src/interfaces/IPreInteractionNotificationReceiver.sol @@ -14,6 +14,7 @@ interface IPreInteractionNotificationReceiver { * @param executedBuyAmount Buy token amount offered by the facilitator to the maker. * @param filledSellAmount Amount of sell tokens that would be filled after this transaction is completed. * @param interactionData Interaction calldata + * @dev `executedSellAmounts` & `executedBuyAmounts` DO NOT have to be scaled down by 1e18 */ function fillOrderPreInteraction( bytes32 orderHash, diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index a957069..24fb1ed 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -36,11 +36,11 @@ contract AdvancedOrderEngineTest is Test { address feeCollector = address(147578); address admin = address(3); uint256 maker1PrivateKey = 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; - address maker1 = vm.addr(maker1PrivateKey); + address maker1 = vm.addr(maker1PrivateKey); // 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 uint256 maker2PrivateKey = 0xac0974bec39a17e36ba4a6b4d233ff944bacb478cbed5efcae784d7bf4f2ff80; - address maker2 = vm.addr(maker2PrivateKey); + address maker2 = vm.addr(maker2PrivateKey); // 0xB60397D6aFedC75370De0Dc16eD96675D3c50b79 uint256 maker3PrivateKey = 0xac0974bec38a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80; - address maker3 = vm.addr(maker3PrivateKey); + address maker3 = vm.addr(maker3PrivateKey); // uint256 operatorPrivateKey = 0xB0B; address operator = vm.addr(operatorPrivateKey); @@ -404,9 +404,9 @@ contract AdvancedOrderEngineTest is Test { bytes[] memory signatures, bytes memory facilitatorInteraction, IERC20[] memory borrowedTokens, - uint256[] memory borrowedAmounts, - OrderEngine.Order memory buyOrder, - OrderEngine.Order memory sellOrder + uint256[] memory borrowedAmounts,, + // OrderEngine.Order memory buyOrder, + // OrderEngine.Order memory sellOrder ) = getStandardInput(); advancedOrderEngine.fillOrders( @@ -426,10 +426,10 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); - assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); - assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sell[0] / 1e18); + assertEq(beforeWethMaker2 + buy[0] / 1e18, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buy[1] / 1e18, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + sell[1] / 1e18); } function testRingOrders() public { @@ -449,10 +449,10 @@ contract AdvancedOrderEngineTest is Test { bytes[] memory signatures, bytes memory facilitatorInteraction, IERC20[] memory borrowedTokens, - uint256[] memory borrowedAmounts, - OrderEngine.Order memory order1, - OrderEngine.Order memory order2, - OrderEngine.Order memory order3 + uint256[] memory borrowedAmounts,,, + // OrderEngine.Order memory order1, + // OrderEngine.Order memory order2, + // OrderEngine.Order memory order3 ) = getStandardInput4(); advancedOrderEngine.fillOrders( @@ -474,12 +474,12 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker3 = usdc.balanceOf(maker3); uint afterMaticMaker3 = wmatic.balanceOf(maker3); - assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount); - assertEq(beforeWethMaker1 + order1.buyTokenAmount , afterWethMaker1); - assertEq(beforeWethMaker2, afterWethMaker2 + order2.sellTokenAmount); - assertEq(beforeMaticMaker2 + order2.buyTokenAmount, afterMaticMaker2); - assertEq(beforeMaticMaker3, afterMaticMaker3 + order3.sellTokenAmount); - assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + sell[2] / 1e18); + assertEq(beforeWethMaker1 + buy[2] / 1e18 , afterWethMaker1); + assertEq(beforeWethMaker2, afterWethMaker2 + sell[1] / 1e18); + assertEq(beforeMaticMaker2 + buy[1] / 1e18, afterMaticMaker2); + assertEq(beforeMaticMaker3, afterMaticMaker3 + sell[0] / 1e18); + assertEq(beforeUsdcMaker3 + buy[0] / 1e18, afterUsdcMaker3); } function testFillOrderInChunks() public { @@ -540,10 +540,10 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount); - assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); - assertEq(beforeUsdcMaker1 + order1.buyTokenAmount, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + order1.sellTokenAmount); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sell[0] / 1e18); + assertEq(beforeWethMaker2 + buy[0] / 1e18, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buy[1] / 1e18, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + sell[1] / 1e18); } function testNoOrderInputFillOrders() public { @@ -921,10 +921,10 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount / 2); - assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount / 2, afterWethMaker2); - assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount / 2, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount / 2); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sell[0] / (1e18 * 2)); + assertEq(beforeWethMaker2 + buy[0] / (1e18 * 2), afterWethMaker2); + assertEq(beforeUsdcMaker1 + buy[1] / (1e18 * 2), afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + sell[1] / (1e18 * 2)); } function testExceedsOrderSellAmount() public { @@ -943,10 +943,10 @@ contract AdvancedOrderEngineTest is Test { OrderEngine.Order memory sellOrder ) = getStandardInput(); - sell[0] = sellOrder.sellTokenAmount * 2; - sell[1] = buyOrder.sellTokenAmount * 2; - buy[0] = sellOrder.buyTokenAmount * 2; - buy[1] = buyOrder.buyTokenAmount * 2; + sell[0] = sellOrder.sellTokenAmount * 2 * 1e18; + sell[1] = buyOrder.sellTokenAmount * 2 * 1e18; + buy[0] = sellOrder.buyTokenAmount * 2 * 1e18; + buy[1] = buyOrder.buyTokenAmount * 2 * 1e18; vm.expectRevert(ExceedsOrderSellAmount.selector); advancedOrderEngine.fillOrders( @@ -1257,10 +1257,10 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); - assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); - assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sell[0] / 1e18); + assertEq(beforeWethMaker2 + buy[0] / 1e18, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buy[1] / 1e18, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + sell[1] / 1e18); } function testMultiplePredicateOR1() public { @@ -1918,10 +1918,10 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sellOrder.sellTokenAmount); - assertEq(beforeWethMaker2 + sellOrder.buyTokenAmount, afterWethMaker2); - assertEq(beforeUsdcMaker1 + buyOrder.buyTokenAmount, afterUsdcMaker1); - assertEq(beforeWethMaker1 , afterWethMaker1 + buyOrder.sellTokenAmount); + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + sell[0] / 1e18); + assertEq(beforeWethMaker2 + buy[0] / 1e18, afterWethMaker2); + assertEq(beforeUsdcMaker1 + buy[1] / 1e18, afterUsdcMaker1); + assertEq(beforeWethMaker1 , afterWethMaker1 + sell[1] / 1e18); } function testDrain() public { @@ -2370,11 +2370,11 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](1); - sell[0] = sellOrder.sellTokenAmount; + sell[0] = sellOrder.sellTokenAmount * 1e18; buy = new uint256[](1); - buy[0] = sellOrder.buyTokenAmount; + buy[0] = sellOrder.buyTokenAmount * 1e18; signatures = new bytes[](1); @@ -2403,7 +2403,7 @@ contract AdvancedOrderEngineTest is Test { uint afterUsdcMaker1 = usdc.balanceOf(maker1); // uint afterWethMaker1 = weth.balanceOf(maker1); - assertEq(beforeUsdcMaker1 + sellOrder.buyTokenAmount, afterUsdcMaker1); + assertEq(beforeUsdcMaker1 + buy[0] / 1e18, afterUsdcMaker1); // assertEq(beforeWethMaker1, afterWethMaker1); } @@ -2566,13 +2566,13 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](2); - sell[0] = order2.sellTokenAmount; - sell[1] = order1.sellTokenAmount; + sell[0] = order2.sellTokenAmount * 1e18; + sell[1] = order1.sellTokenAmount * 1e18; buy = new uint256[](2); - buy[0] = order2.buyTokenAmount; - buy[1] = order1.buyTokenAmount; + buy[0] = order2.buyTokenAmount * 1e18; + buy[1] = order1.buyTokenAmount * 1e18; signatures = new bytes[](2); @@ -2665,15 +2665,15 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](3); - sell[0] = order3.sellTokenAmount; - sell[1] = order2.sellTokenAmount; - sell[2] = order1.sellTokenAmount; + sell[0] = order3.sellTokenAmount * 1e18; + sell[1] = order2.sellTokenAmount * 1e18; + sell[2] = order1.sellTokenAmount * 1e18; buy = new uint256[](3); - buy[0] = order3.buyTokenAmount; - buy[1] = order2.buyTokenAmount; - buy[2] = order1.buyTokenAmount; + buy[0] = order3.buyTokenAmount * 1e18; + buy[1] = order2.buyTokenAmount * 1e18; + buy[2] = order1.buyTokenAmount * 1e18; signatures = new bytes[](3); @@ -2770,15 +2770,15 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](3); - sell[0] = order3.sellTokenAmount; - sell[1] = order2.sellTokenAmount / 2; - sell[2] = order1.sellTokenAmount; + sell[0] = order3.sellTokenAmount * 1e18; + sell[1] = order2.sellTokenAmount / 2 * 1e18; + sell[2] = order1.sellTokenAmount * 1e18; buy = new uint256[](3); - buy[0] = order3.buyTokenAmount; - buy[1] = order2.buyTokenAmount / 2; - buy[2] = order1.buyTokenAmount; + buy[0] = order3.buyTokenAmount * 1e18; + buy[1] = order2.buyTokenAmount / 2 * 1e18; + buy[2] = order1.buyTokenAmount * 1e18; signatures = new bytes[](3); @@ -2864,11 +2864,11 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](1); - sell[0] = order1.sellTokenAmount; + sell[0] = order1.sellTokenAmount * 1e18; buy = new uint256[](1); - buy[0] = order1.buyTokenAmount; + buy[0] = order1.buyTokenAmount * 1e18; signatures = new bytes[](1); @@ -2961,15 +2961,15 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](3); - sell[0] = order3.sellTokenAmount; - sell[1] = order2.sellTokenAmount; - sell[2] = order1.sellTokenAmount; + sell[0] = order3.sellTokenAmount * 1e18; + sell[1] = order2.sellTokenAmount * 1e18; + sell[2] = order1.sellTokenAmount * 1e18; buy = new uint256[](3); - buy[0] = order3.buyTokenAmount; - buy[1] = order2.buyTokenAmount; - buy[2] = order1.buyTokenAmount; + buy[0] = order3.buyTokenAmount * 1e18; + buy[1] = order2.buyTokenAmount * 1e18; + buy[2] = order1.buyTokenAmount * 1e18; signatures = new bytes[](3); @@ -3035,9 +3035,9 @@ contract AdvancedOrderEngineTest is Test { "0x" // post-interaction data ); - sell[i] = orders[i].sellTokenAmount; + sell[i] = orders[i].sellTokenAmount * 1e18; - buy[i] = orders[i].buyTokenAmount; + buy[i] = orders[i].buyTokenAmount * 1e18; (v,r,s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(orders[i]))); sellOrderSignature = abi.encodePacked(r, s, v); @@ -3068,9 +3068,9 @@ contract AdvancedOrderEngineTest is Test { "0x" // post-interaction data ); - sell[i] = orders[i].sellTokenAmount; + sell[i] = orders[i].sellTokenAmount * 1e18; - buy[i] = orders[i].buyTokenAmount; + buy[i] = orders[i].buyTokenAmount * 1e18; (v,r,s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(orders[i]))); sellOrderSignature = abi.encodePacked(r, s, v); @@ -3149,11 +3149,11 @@ contract AdvancedOrderEngineTest is Test { sell = new uint256[](1); - sell[0] = order1.sellTokenAmount; + sell[0] = order1.sellTokenAmount * 1e18; buy = new uint256[](1); - buy[0] = order1.buyTokenAmount; + buy[0] = order1.buyTokenAmount * 1e18; signatures = new bytes[](1); From ca4fec662556ca4756b6c2d684eb100146c9b84c Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 16:41:02 +0500 Subject: [PATCH 109/122] new deploy --- .../1891/run-1703142779.json | 120 ------ .../1891/run-1703142780.json | 393 ------------------ .../1891/run-1703142822.json | 393 ------------------ .../1891/run-1706874004.json | 120 ++++++ .../1891/run-1706874010.json | 393 ++++++++++++++++++ .../1891/run-1706874048.json | 393 ++++++++++++++++++ .../1891/run-latest.json | 218 +++++----- 7 files changed, 1015 insertions(+), 1015 deletions(-) delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json delete mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1706874004.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1706874010.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1706874048.json diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json deleted file mode 100644 index 9ac7b78..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703142779.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x54c" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x54d" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": null, - "arguments": [ - "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x320276", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x54e" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x54f" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x550" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" - ], - "pending": [ - "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac" - ], - "returns": {}, - "timestamp": 1703142779, - "chain": 1891, - "multi": false, - "commit": "951d56e" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json deleted file mode 100644 index 6bdebd2..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703142780.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x54c" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x54d" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": null, - "arguments": [ - "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x320276", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x54e" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x54f" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x550" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "transactionIndex": "0x0", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", - "logs": [], - "status": "0x1", - "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "transactionIndex": "0x1", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "logs": [], - "status": "0x1", - "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x267aee", - "gasUsed": "0x267aee", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", - "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionIndex": "0x3", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionIndex": "0x3", - "logIndex": "0x3", - "removed": false - } - ], - "status": "0x1", - "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", - "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "cumulativeGasUsed": "0x42d34", - "gasUsed": "0x42d34", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x9", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xa", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xb", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xc", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xd", - "removed": false - } - ], - "status": "0x1", - "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", - "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" - ], - "pending": [], - "returns": {}, - "timestamp": 1703142780, - "chain": 1891, - "multi": false, - "commit": "951d56e" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json b/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json deleted file mode 100644 index 294bb60..0000000 --- a/broadcast/deployOrderEngine.s.sol/1891/run-1703142822.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "transactionType": "CREATE", - "contractName": "OrderEngine", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x54c" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "transactionType": "CREATE", - "contractName": "Predicates", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x5dd9f", - "value": "0x0", - "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x54d" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionType": "CREATE", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": null, - "arguments": [ - "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x320276", - "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x54e" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "manageOperatorPrivilege(address,bool)", - "arguments": [ - "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "true" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x111af", - "value": "0x0", - "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x54f" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionType": "CALL", - "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "function": "updateTokenWhitelist(address[],bool[])", - "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" - ], - "transaction": { - "type": "0x00", - "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", - "gas": "0x5c4d5", - "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x550" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", - "transactionIndex": "0x0", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", - "logs": [], - "status": "0x1", - "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", - "transactionIndex": "0x1", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x48360", - "gasUsed": "0x48360", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", - "logs": [], - "status": "0x1", - "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": null, - "cumulativeGasUsed": "0x267aee", - "gasUsed": "0x267aee", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x1", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" - ], - "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "status": "0x1", - "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", - "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionIndex": "0x3", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "cumulativeGasUsed": "0xbb23", - "gasUsed": "0xbb23", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", - "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", - "transactionIndex": "0x3", - "logIndex": "0x3", - "removed": false - } - ], - "status": "0x1", - "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", - "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0" - }, - { - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "cumulativeGasUsed": "0x42d34", - "gasUsed": "0x42d34", - "contractAddress": "0x0000000000000000000000000000000000000000", - "logs": [ - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x5", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x6", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x7", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x8", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0x9", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xa", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xb", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xc", - "removed": false - }, - { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", - "topics": [ - "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", - "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" - ], - "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", - "transactionIndex": "0x4", - "logIndex": "0xd", - "removed": false - } - ], - "status": "0x1", - "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", - "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", - "type": "0x0" - } - ], - "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" - ], - "pending": [], - "returns": {}, - "timestamp": 1703142822, - "chain": 1891, - "multi": false, - "commit": "951d56e" -} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1706874004.json b/broadcast/deployOrderEngine.s.sol/1891/run-1706874004.json new file mode 100644 index 0000000..2f37530 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1706874004.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x153d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x153e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": null, + "arguments": [ + "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32a99e", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e71601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ba99283620002c8843960805183611e28015260a05183611f23015260c05183611df9015260e05183611e7701525182611e9d01525181611e540152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bda57806315169dec14611b9a5780632024cbc114611aa75780633644e51514611a845780633c3efab414611a5d5780635f2a6451146119a257806369328dec146119095780636d70f7ae146118ca5780636fda538f14611788578063715018a61461170c57806379ba5097146116065780638da5cb5b146115df5780638efede3d1461150d57806390d6e14c1461143b578063ab37f486146113fc578063c2ee3a08146113d9578063c415b95c146113b2578063cf0f969d14611386578063e30c39781461135f578063f2fde38b146112dd5763fe61e35c1461010457600080fd5b346104e45760e06003193601126104e45760043567ffffffffffffffff81116104e457610135903690600401611c8a565b610120526101605260243567ffffffffffffffff81116104e45761015d903690600401611c8a565b60e0526101405260443567ffffffffffffffff81116104e457610184903690600401611c8a565b60c0526101005260643567ffffffffffffffff81116104e4576101ab903690600401611c8a565b9060843567ffffffffffffffff81116104e4576101cc903690600401611c25565b9260a43567ffffffffffffffff81116104e4576101ed903690600401611c8a565b92909467ffffffffffffffff60c435116104e4576102103660c435600401611c8a565b93909533600052600760205260ff60406000205416156112ad5760026000541461124f57600260005561012051156112255760e0516101205114801590611217575b801561120b575b6108b65760005b6101205181106108e05750505060148110156104e9575b50505050505060005b610120518110610291576001600055005b6102a2816101205161016051611d5e565b906102b38160e05161014051611d2d565b356102c48260c05161010051611d2d565b356102ce846123ec565b670de0b6b3a7640000946103476102e86101208301611d3d565b6102f460e08401611d3d565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288860460448301526044825261034282611f5d565b6128f5565b816000526006602052604060002054956101c0820160146103688285611d9e565b905010156103f8575b5091600196827f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef946001600160a01b036103b061010060c09701611d3d565b1696816001600160a01b036103c86101208601611d3d565b16996080956040519788526020880152046040860152046060840152803582840152013560a0820152a301610280565b966104166104106001600160a01b0395939985611d9e565b90612b11565b91610423819792976127ab565b169061043160a08601611d3d565b95823b156104e457848b97928992868c8b966040519c8d9889987fb6e1471a000000000000000000000000000000000000000000000000000000008a5204920490600488019661048097612774565b03815a6000948591f19283156104d8576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956104c9575b50929450925096610371565b6104d290611f49565b386104bd565b6040513d6000823e3d90fd5b600080fd5b6104f291612b11565b90949160805293926105056080516127ab565b8281036108b65760005b81811061083d57506001600160a01b03608051163b156104e45760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b610120518110610695575050506105d46105b860209260031960a051820301602460a051015260e05161014051612849565b60031960a051820301604460a051015260c05161010051612849565b60031960a051820301606460a051015282815201959060005b81811061066d57505050600094610634926106179260031960a051840301608460a0510152612849565b60031960a05182030160a460a051015260a0519360a05193611fc7565b0360a051836001600160a01b03608051165af180156104d85761065d575b388080808080610277565b61066860a051611f49565b610652565b9091966020806001926001600160a01b036106878c611c69565b1681520198019291016105ed565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21610160513603018112156104e457602061083260019382936101605101906108136107f76101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b0361074a828801611c69565b16908501526001600160a01b0361076360c08701611c69565b1660c08501526001600160a01b0361077d60e08701611c69565b1660e08501526101006001600160a01b03610799828801611c69565b16908501526101206001600160a01b036107b4828801611c69565b16908501526101406107c7818701611c7d565b151590850152610160808601359085015261018090806107e9838801886127f9565b929093870152850191611fc7565b6101a0610806818601866127f9565b9185840390860152611fc7565b916108246101c091828101906127f9565b929091818503910152611fc7565b950193019101610586565b806108b0610856610851600194868c611d2d565b611d3d565b610861838888611d2d565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261034282611f5d565b0161050f565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f1816101205161016051611d5e565b906109028160e05161014051611d2d565b35916109148260c05161010051611d2d565b3592858310156111dc5761092d8360051b860186611d9e565b90918592819661093c866123ec565b92602087013542116111ab5760608701351590811561119e575b8115611195575b50801561118d575b611163576001600160a01b0361097e6101208801611d3d565b16600052600560205260ff6040600020541615801561113a575b611110576109a96101008701611d3d565b6001600160a01b03806109bf6101208a01611d3d565b169116146110e6576001600160a01b036109db60a08801611d3d565b161580156110c9575b80156110ac575b8015611090575b6110665760c086016001600160a01b03610a0b82611d3d565b1615159081611049575b5061101f57826000526006602052604060002054604087013514610ff557610a406101408701611d51565b15610fb55750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f5c5784610a70916124db565b670de0b6b3a76400006040870135818102918183041490151715610f5c57610a9d906060880135906124db565b10610f8b578160005260066020526040600020805490670de0b6b3a764000089048201809211610f5c575560808501358015670de0b6b3a76400008904808302839004141715610f5c57610b0290604087013590670de0b6b3a76400008a04026124db565b826000526006602052604086013560406000205411610f3257670de0b6b3a7640000809195049704925b610b6e6020610b3b3689612160565b604051809381927f95de97cc000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d857600091610ef8575b5015610e9057610bfc916020916001600160a01b03610bb760a08a01611d3d565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fc7565b03915afa9081156104d857600091610e15575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610deb575b6101808401610c698186611d9e565b9050610da3575b506101a084016014610c828287611d9e565b90501015610ced575b505060019450610cb590610ca26101008501611d3d565b90610caf60a08601611d3d565b91612886565b80610cc3575b505001610260565b610cd3610100610ce69301611d3d565b906001600160a01b036004541691612886565b3880610cbb565b610d026104106001600160a01b039287611d9e565b929091610d0e816127ab565b1690610d1c60a08801611d3d565b9084600052600660205260406000205494833b156104e457610d7587956000979388946040519e8f998a9889977f1ad047d200000000000000000000000000000000000000000000000000000000895260048901612774565b03925af19081156104d857600195610cb592610d94575b819250610c8b565b610d9d90611f49565b38610d8c565b610db0610db69186611d9e565b90612006565b15610dc15738610c70565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e88575b81610e3060209383611f79565b810103126104e457517fffffffff00000000000000000000000000000000000000000000000000000000811681036104e4577fffffffff00000000000000000000000000000000000000000000000000000000610c0f565b3d9150610e23565b610ea2610eb092610ea892369161210b565b836126ad565b919091612514565b6001600160a01b0380610ec560a08801611d3d565b1691160315610c5a5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f2a575b81610f1360209383611f79565b810103126104e457610f2490611fba565b38610b96565b3d9150610f06565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610f8b57604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2c565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361105d3392611d3d565b16141538610a15565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110a560e08801611d3d565b16156109f2565b506001600160a01b036110c26101008801611d3d565b16156109eb565b506001600160a01b036110df6101208801611d3d565b16156109e4565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036111506101008801611d3d565b1660005260ff6040600020541615610998565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610965565b9050153861095d565b6040880135159150610956565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610259565b5060c05160e0511415610252565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104e45760206003193601126104e4576112f6611c53565b6112fe611cbb565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104e45760006003193601126104e45760206001600160a01b0360025416604051908152f35b346104e45760206003193601126104e45760043560005260066020526020604060002054604051908152f35b346104e45760006003193601126104e45760206001600160a01b0360045416604051908152f35b346104e45760006003193601126104e4576020604051670de0b6b3a76400008152f35b346104e45760206003193601126104e4576001600160a01b0361141d611c53565b166000526005602052602060ff604060002054166040519015158152f35b346104e45760206003193601126104e4576004356001600160a01b038082168092036104e457611469611cbb565b811561106657600354908116908282146114e357604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e457611526611c53565b61152e611cbb565b6001600160a01b0390818116918215611066576004549081168381146115b557604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360015416604051908152f35b346104e45760006003193601126104e4576002546001600160a01b033381831603611688577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104e45760006003193601126104e457611725611cbb565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104e45760406003193601126104e45767ffffffffffffffff6004358181116104e4576117ba903690600401611c8a565b916024359081116104e4576117d3903690600401611c8a565b926117dc611cbb565b8015611225578381036108b65760005b8181106117f557005b6001600160a01b03908161180d610851838689611d2d565b1615611066576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761184a611845848a89611d2d565b611d51565b918061185a61085186898c611d2d565b1660005261189d6020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118ab61085185888b611d2d565b16916118bb611845858b8a611d2d565b6040519015158152a2016117ec565b346104e45760206003193601126104e4576001600160a01b036118eb611c53565b166000526007602052602060ff604060002054166040519015158152f35b346104e45760606003193601126104e457611922611c53565b604435906001600160a01b03908183168093036104e457611941611cbb565b16908115801561199a575b6110665761199891604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261034282611f5d565b005b50801561194c565b346104e4576119b036611bf2565b6119bc60a08201611d3d565b6001600160a01b0333911603611a33576119d5816123ec565b8060005260066020526040806000205492013591828114610ff55760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360035416604051908152f35b346104e45760006003193601126104e4576020611a9f611def565b604051908152f35b346104e45760406003193601126104e457611ac0611c53565b60243590811515908183036104e4576001600160a01b0390611ae0611cbb565b16918215611066578260005260076020528160ff60406000205416151514611b70577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b67602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e45760043567ffffffffffffffff81116104e457611bd0610db06020923690600401611c25565b6040519015158152f35b346104e4576020611a9f611bed36611bf2565b6123ec565b600319906020828201126104e4576004359167ffffffffffffffff83116104e457826101e0920301126104e45760040190565b9181601f840112156104e45782359167ffffffffffffffff83116104e457602083818601950101116104e457565b600435906001600160a01b03821682036104e457565b35906001600160a01b03821682036104e457565b359081151582036104e457565b9181601f840112156104e45782359167ffffffffffffffff83116104e4576020808501948460051b0101116104e457565b6001600160a01b03600154163303611ccf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111dc5760051b0190565b356001600160a01b03811681036104e45790565b3580151581036104e45790565b91908110156111dc5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104e4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104e4570180359067ffffffffffffffff82116104e4576020019181360383136104e457565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f20575b15611e4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611ef15760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e21565b67ffffffffffffffff8111611ef157604052565b6080810190811067ffffffffffffffff821117611ef157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef157604052565b519081151582036104e457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9061205e906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fc7565b03915afa9081156120c6576000928392612086575b50508161207e575090565b600191501490565b9080939250813d83116120bf575b61209e8183611f79565b810103126120bc575060206120b282611fba565b9101513880612073565b80fd5b503d612094565b82513d6000823e3d90fd5b67ffffffffffffffff8111611ef157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612117826120d1565b916121256040519384611f79565b8294818452818301116104e4578281602093846000960137010152565b9080601f830112156104e45781602061215d9335910161210b565b90565b9190916101e09081818503126104e4576040519182019067ffffffffffffffff9183811083821117611ef157604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121c960a08301611c69565b60a08501526121da60c08301611c69565b60c08501526121eb60e08301611c69565b60e08501526101006121fe818401611c69565b90850152610120612210818401611c69565b90850152610140612222818401611c7d565b908501526101608083013590850152610180808301358481116104e4578261224b918501612142565b908501526101a0808301358481116104e45782612269918501612142565b908501526101c092838301359081116104e4576122869201612142565b910152565b919082519283825260005b8481106122d55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612296565b9061215d916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123a16101a093828585015261020084019061228b565b928401516123dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c09286868303018487015261228b565b940151928285030191015261228b565b60206123fc61242f923690612160565b604051809381927fc3c1f2ec000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d8576000916124aa575b50612460611def565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124a481611f5d565b51902090565b906020823d82116124d3575b816124c360209383611f79565b810103126120bc57505138612457565b3d91506124b6565b81156124e5570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600581101561267e57806125255750565b6001810361258b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125f15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146125fa57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126db576126d7916020820151906060604084015193015160001a906126e5565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116127685791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561275b5781516001600160a01b03811615612755579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361215d98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fc7565b6001600160a01b03163081149081156127f0575b506127c657565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127bf565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104e457016020813591019167ffffffffffffffff82116104e45781360383136104e457565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104e45760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611ef1576128f3926040526128f5565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611ef157612986916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a3d573d9161296b836120d1565b926129796040519485611f79565b83523d868885013e612a41565b90815180612995575b50505050565b828491810103126120bc5750816129ac9101611fba565b156129b95780808061298f565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612abc5750815115612a55575090565b3b15612a5e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612acf5750805190602001fd5b612b0d906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061228b565b0390fd5b9160148210612b49577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122036b990b4d257fd6bd088a253c845303610cb8714d9fbcbe06b45ffce6d4443e564736f6c634300081500330000000000000000000000009680491850b5162c69786fde9bd8bcd12d81b3510000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x153f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1540" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1541" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8add30f1fe6535b0b6fcc4a7b495f000e1c4c5d4" + ], + "pending": [ + "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427" + ], + "returns": {}, + "timestamp": 1706874004, + "chain": 1891, + "multi": false, + "commit": "2290b4d" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1706874010.json b/broadcast/deployOrderEngine.s.sol/1891/run-1706874010.json new file mode 100644 index 0000000..c42f8ba --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1706874010.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x153d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x153e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": null, + "arguments": [ + "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32a99e", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e71601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ba99283620002c8843960805183611e28015260a05183611f23015260c05183611df9015260e05183611e7701525182611e9d01525181611e540152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bda57806315169dec14611b9a5780632024cbc114611aa75780633644e51514611a845780633c3efab414611a5d5780635f2a6451146119a257806369328dec146119095780636d70f7ae146118ca5780636fda538f14611788578063715018a61461170c57806379ba5097146116065780638da5cb5b146115df5780638efede3d1461150d57806390d6e14c1461143b578063ab37f486146113fc578063c2ee3a08146113d9578063c415b95c146113b2578063cf0f969d14611386578063e30c39781461135f578063f2fde38b146112dd5763fe61e35c1461010457600080fd5b346104e45760e06003193601126104e45760043567ffffffffffffffff81116104e457610135903690600401611c8a565b610120526101605260243567ffffffffffffffff81116104e45761015d903690600401611c8a565b60e0526101405260443567ffffffffffffffff81116104e457610184903690600401611c8a565b60c0526101005260643567ffffffffffffffff81116104e4576101ab903690600401611c8a565b9060843567ffffffffffffffff81116104e4576101cc903690600401611c25565b9260a43567ffffffffffffffff81116104e4576101ed903690600401611c8a565b92909467ffffffffffffffff60c435116104e4576102103660c435600401611c8a565b93909533600052600760205260ff60406000205416156112ad5760026000541461124f57600260005561012051156112255760e0516101205114801590611217575b801561120b575b6108b65760005b6101205181106108e05750505060148110156104e9575b50505050505060005b610120518110610291576001600055005b6102a2816101205161016051611d5e565b906102b38160e05161014051611d2d565b356102c48260c05161010051611d2d565b356102ce846123ec565b670de0b6b3a7640000946103476102e86101208301611d3d565b6102f460e08401611d3d565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288860460448301526044825261034282611f5d565b6128f5565b816000526006602052604060002054956101c0820160146103688285611d9e565b905010156103f8575b5091600196827f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef946001600160a01b036103b061010060c09701611d3d565b1696816001600160a01b036103c86101208601611d3d565b16996080956040519788526020880152046040860152046060840152803582840152013560a0820152a301610280565b966104166104106001600160a01b0395939985611d9e565b90612b11565b91610423819792976127ab565b169061043160a08601611d3d565b95823b156104e457848b97928992868c8b966040519c8d9889987fb6e1471a000000000000000000000000000000000000000000000000000000008a5204920490600488019661048097612774565b03815a6000948591f19283156104d8576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956104c9575b50929450925096610371565b6104d290611f49565b386104bd565b6040513d6000823e3d90fd5b600080fd5b6104f291612b11565b90949160805293926105056080516127ab565b8281036108b65760005b81811061083d57506001600160a01b03608051163b156104e45760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b610120518110610695575050506105d46105b860209260031960a051820301602460a051015260e05161014051612849565b60031960a051820301604460a051015260c05161010051612849565b60031960a051820301606460a051015282815201959060005b81811061066d57505050600094610634926106179260031960a051840301608460a0510152612849565b60031960a05182030160a460a051015260a0519360a05193611fc7565b0360a051836001600160a01b03608051165af180156104d85761065d575b388080808080610277565b61066860a051611f49565b610652565b9091966020806001926001600160a01b036106878c611c69565b1681520198019291016105ed565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21610160513603018112156104e457602061083260019382936101605101906108136107f76101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b0361074a828801611c69565b16908501526001600160a01b0361076360c08701611c69565b1660c08501526001600160a01b0361077d60e08701611c69565b1660e08501526101006001600160a01b03610799828801611c69565b16908501526101206001600160a01b036107b4828801611c69565b16908501526101406107c7818701611c7d565b151590850152610160808601359085015261018090806107e9838801886127f9565b929093870152850191611fc7565b6101a0610806818601866127f9565b9185840390860152611fc7565b916108246101c091828101906127f9565b929091818503910152611fc7565b950193019101610586565b806108b0610856610851600194868c611d2d565b611d3d565b610861838888611d2d565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261034282611f5d565b0161050f565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f1816101205161016051611d5e565b906109028160e05161014051611d2d565b35916109148260c05161010051611d2d565b3592858310156111dc5761092d8360051b860186611d9e565b90918592819661093c866123ec565b92602087013542116111ab5760608701351590811561119e575b8115611195575b50801561118d575b611163576001600160a01b0361097e6101208801611d3d565b16600052600560205260ff6040600020541615801561113a575b611110576109a96101008701611d3d565b6001600160a01b03806109bf6101208a01611d3d565b169116146110e6576001600160a01b036109db60a08801611d3d565b161580156110c9575b80156110ac575b8015611090575b6110665760c086016001600160a01b03610a0b82611d3d565b1615159081611049575b5061101f57826000526006602052604060002054604087013514610ff557610a406101408701611d51565b15610fb55750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f5c5784610a70916124db565b670de0b6b3a76400006040870135818102918183041490151715610f5c57610a9d906060880135906124db565b10610f8b578160005260066020526040600020805490670de0b6b3a764000089048201809211610f5c575560808501358015670de0b6b3a76400008904808302839004141715610f5c57610b0290604087013590670de0b6b3a76400008a04026124db565b826000526006602052604086013560406000205411610f3257670de0b6b3a7640000809195049704925b610b6e6020610b3b3689612160565b604051809381927f95de97cc000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d857600091610ef8575b5015610e9057610bfc916020916001600160a01b03610bb760a08a01611d3d565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fc7565b03915afa9081156104d857600091610e15575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610deb575b6101808401610c698186611d9e565b9050610da3575b506101a084016014610c828287611d9e565b90501015610ced575b505060019450610cb590610ca26101008501611d3d565b90610caf60a08601611d3d565b91612886565b80610cc3575b505001610260565b610cd3610100610ce69301611d3d565b906001600160a01b036004541691612886565b3880610cbb565b610d026104106001600160a01b039287611d9e565b929091610d0e816127ab565b1690610d1c60a08801611d3d565b9084600052600660205260406000205494833b156104e457610d7587956000979388946040519e8f998a9889977f1ad047d200000000000000000000000000000000000000000000000000000000895260048901612774565b03925af19081156104d857600195610cb592610d94575b819250610c8b565b610d9d90611f49565b38610d8c565b610db0610db69186611d9e565b90612006565b15610dc15738610c70565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e88575b81610e3060209383611f79565b810103126104e457517fffffffff00000000000000000000000000000000000000000000000000000000811681036104e4577fffffffff00000000000000000000000000000000000000000000000000000000610c0f565b3d9150610e23565b610ea2610eb092610ea892369161210b565b836126ad565b919091612514565b6001600160a01b0380610ec560a08801611d3d565b1691160315610c5a5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f2a575b81610f1360209383611f79565b810103126104e457610f2490611fba565b38610b96565b3d9150610f06565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610f8b57604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2c565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361105d3392611d3d565b16141538610a15565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110a560e08801611d3d565b16156109f2565b506001600160a01b036110c26101008801611d3d565b16156109eb565b506001600160a01b036110df6101208801611d3d565b16156109e4565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036111506101008801611d3d565b1660005260ff6040600020541615610998565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610965565b9050153861095d565b6040880135159150610956565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610259565b5060c05160e0511415610252565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104e45760206003193601126104e4576112f6611c53565b6112fe611cbb565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104e45760006003193601126104e45760206001600160a01b0360025416604051908152f35b346104e45760206003193601126104e45760043560005260066020526020604060002054604051908152f35b346104e45760006003193601126104e45760206001600160a01b0360045416604051908152f35b346104e45760006003193601126104e4576020604051670de0b6b3a76400008152f35b346104e45760206003193601126104e4576001600160a01b0361141d611c53565b166000526005602052602060ff604060002054166040519015158152f35b346104e45760206003193601126104e4576004356001600160a01b038082168092036104e457611469611cbb565b811561106657600354908116908282146114e357604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e457611526611c53565b61152e611cbb565b6001600160a01b0390818116918215611066576004549081168381146115b557604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360015416604051908152f35b346104e45760006003193601126104e4576002546001600160a01b033381831603611688577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104e45760006003193601126104e457611725611cbb565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104e45760406003193601126104e45767ffffffffffffffff6004358181116104e4576117ba903690600401611c8a565b916024359081116104e4576117d3903690600401611c8a565b926117dc611cbb565b8015611225578381036108b65760005b8181106117f557005b6001600160a01b03908161180d610851838689611d2d565b1615611066576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761184a611845848a89611d2d565b611d51565b918061185a61085186898c611d2d565b1660005261189d6020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118ab61085185888b611d2d565b16916118bb611845858b8a611d2d565b6040519015158152a2016117ec565b346104e45760206003193601126104e4576001600160a01b036118eb611c53565b166000526007602052602060ff604060002054166040519015158152f35b346104e45760606003193601126104e457611922611c53565b604435906001600160a01b03908183168093036104e457611941611cbb565b16908115801561199a575b6110665761199891604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261034282611f5d565b005b50801561194c565b346104e4576119b036611bf2565b6119bc60a08201611d3d565b6001600160a01b0333911603611a33576119d5816123ec565b8060005260066020526040806000205492013591828114610ff55760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360035416604051908152f35b346104e45760006003193601126104e4576020611a9f611def565b604051908152f35b346104e45760406003193601126104e457611ac0611c53565b60243590811515908183036104e4576001600160a01b0390611ae0611cbb565b16918215611066578260005260076020528160ff60406000205416151514611b70577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b67602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e45760043567ffffffffffffffff81116104e457611bd0610db06020923690600401611c25565b6040519015158152f35b346104e4576020611a9f611bed36611bf2565b6123ec565b600319906020828201126104e4576004359167ffffffffffffffff83116104e457826101e0920301126104e45760040190565b9181601f840112156104e45782359167ffffffffffffffff83116104e457602083818601950101116104e457565b600435906001600160a01b03821682036104e457565b35906001600160a01b03821682036104e457565b359081151582036104e457565b9181601f840112156104e45782359167ffffffffffffffff83116104e4576020808501948460051b0101116104e457565b6001600160a01b03600154163303611ccf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111dc5760051b0190565b356001600160a01b03811681036104e45790565b3580151581036104e45790565b91908110156111dc5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104e4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104e4570180359067ffffffffffffffff82116104e4576020019181360383136104e457565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f20575b15611e4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611ef15760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e21565b67ffffffffffffffff8111611ef157604052565b6080810190811067ffffffffffffffff821117611ef157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef157604052565b519081151582036104e457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9061205e906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fc7565b03915afa9081156120c6576000928392612086575b50508161207e575090565b600191501490565b9080939250813d83116120bf575b61209e8183611f79565b810103126120bc575060206120b282611fba565b9101513880612073565b80fd5b503d612094565b82513d6000823e3d90fd5b67ffffffffffffffff8111611ef157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612117826120d1565b916121256040519384611f79565b8294818452818301116104e4578281602093846000960137010152565b9080601f830112156104e45781602061215d9335910161210b565b90565b9190916101e09081818503126104e4576040519182019067ffffffffffffffff9183811083821117611ef157604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121c960a08301611c69565b60a08501526121da60c08301611c69565b60c08501526121eb60e08301611c69565b60e08501526101006121fe818401611c69565b90850152610120612210818401611c69565b90850152610140612222818401611c7d565b908501526101608083013590850152610180808301358481116104e4578261224b918501612142565b908501526101a0808301358481116104e45782612269918501612142565b908501526101c092838301359081116104e4576122869201612142565b910152565b919082519283825260005b8481106122d55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612296565b9061215d916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123a16101a093828585015261020084019061228b565b928401516123dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c09286868303018487015261228b565b940151928285030191015261228b565b60206123fc61242f923690612160565b604051809381927fc3c1f2ec000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d8576000916124aa575b50612460611def565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124a481611f5d565b51902090565b906020823d82116124d3575b816124c360209383611f79565b810103126120bc57505138612457565b3d91506124b6565b81156124e5570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600581101561267e57806125255750565b6001810361258b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125f15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146125fa57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126db576126d7916020820151906060604084015193015160001a906126e5565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116127685791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561275b5781516001600160a01b03811615612755579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361215d98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fc7565b6001600160a01b03163081149081156127f0575b506127c657565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127bf565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104e457016020813591019167ffffffffffffffff82116104e45781360383136104e457565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104e45760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611ef1576128f3926040526128f5565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611ef157612986916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a3d573d9161296b836120d1565b926129796040519485611f79565b83523d868885013e612a41565b90815180612995575b50505050565b828491810103126120bc5750816129ac9101611fba565b156129b95780808061298f565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612abc5750815115612a55575090565b3b15612a5e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612acf5750805190602001fd5b612b0d906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061228b565b0390fd5b9160148210612b49577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122036b990b4d257fd6bd088a253c845303610cb8714d9fbcbe06b45ffce6d4443e564736f6c634300081500330000000000000000000000009680491850b5162c69786fde9bd8bcd12d81b3510000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x153f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1540" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1541" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionIndex": "0x0", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "logs": [], + "status": "0x1", + "root": "0x217dea2c51f905de5f26ecc121fe3c7648b606aaef7fc221790d0a7fbcffed17", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionIndex": "0x1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "logs": [], + "status": "0x1", + "root": "0xcf77317e182c2a4cfa7bbfb3eaf4323d0a76898642d6b0a044b9ccf0bdcc81b7", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x26fb8d", + "gasUsed": "0x26fb8d", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xee29c21a2e466aaac3da0bca9337b3b0a42ed5b1fa0f7f7ebda7075d0434600a", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000020000000000000000001000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionIndex": "0x3", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x1a761c498f2907d75f2a3a779d3d98a445528fb29c83f40f693a1c4a192884e9", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "root": "0x211fa834f9195f8187549c38a54e42b0413bbef5bfe3b808e49b85157c6e6f7e", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000020000000000080000000800080000000000008000000000400004040000000001000000000000000800000000800000000000000000000001000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8add30f1fe6535b0b6fcc4a7b495f000e1c4c5d4" + ], + "pending": [], + "returns": {}, + "timestamp": 1706874010, + "chain": 1891, + "multi": false, + "commit": "2290b4d" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1706874048.json b/broadcast/deployOrderEngine.s.sol/1891/run-1706874048.json new file mode 100644 index 0000000..19703f3 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1706874048.json @@ -0,0 +1,393 @@ +{ + "transactions": [ + { + "hash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x59318", + "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", + "nonce": "0x153d" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x153e" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": null, + "arguments": [ + "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32a99e", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e71601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ba99283620002c8843960805183611e28015260a05183611f23015260c05183611df9015260e05183611e7701525182611e9d01525181611e540152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bda57806315169dec14611b9a5780632024cbc114611aa75780633644e51514611a845780633c3efab414611a5d5780635f2a6451146119a257806369328dec146119095780636d70f7ae146118ca5780636fda538f14611788578063715018a61461170c57806379ba5097146116065780638da5cb5b146115df5780638efede3d1461150d57806390d6e14c1461143b578063ab37f486146113fc578063c2ee3a08146113d9578063c415b95c146113b2578063cf0f969d14611386578063e30c39781461135f578063f2fde38b146112dd5763fe61e35c1461010457600080fd5b346104e45760e06003193601126104e45760043567ffffffffffffffff81116104e457610135903690600401611c8a565b610120526101605260243567ffffffffffffffff81116104e45761015d903690600401611c8a565b60e0526101405260443567ffffffffffffffff81116104e457610184903690600401611c8a565b60c0526101005260643567ffffffffffffffff81116104e4576101ab903690600401611c8a565b9060843567ffffffffffffffff81116104e4576101cc903690600401611c25565b9260a43567ffffffffffffffff81116104e4576101ed903690600401611c8a565b92909467ffffffffffffffff60c435116104e4576102103660c435600401611c8a565b93909533600052600760205260ff60406000205416156112ad5760026000541461124f57600260005561012051156112255760e0516101205114801590611217575b801561120b575b6108b65760005b6101205181106108e05750505060148110156104e9575b50505050505060005b610120518110610291576001600055005b6102a2816101205161016051611d5e565b906102b38160e05161014051611d2d565b356102c48260c05161010051611d2d565b356102ce846123ec565b670de0b6b3a7640000946103476102e86101208301611d3d565b6102f460e08401611d3d565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288860460448301526044825261034282611f5d565b6128f5565b816000526006602052604060002054956101c0820160146103688285611d9e565b905010156103f8575b5091600196827f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef946001600160a01b036103b061010060c09701611d3d565b1696816001600160a01b036103c86101208601611d3d565b16996080956040519788526020880152046040860152046060840152803582840152013560a0820152a301610280565b966104166104106001600160a01b0395939985611d9e565b90612b11565b91610423819792976127ab565b169061043160a08601611d3d565b95823b156104e457848b97928992868c8b966040519c8d9889987fb6e1471a000000000000000000000000000000000000000000000000000000008a5204920490600488019661048097612774565b03815a6000948591f19283156104d8576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956104c9575b50929450925096610371565b6104d290611f49565b386104bd565b6040513d6000823e3d90fd5b600080fd5b6104f291612b11565b90949160805293926105056080516127ab565b8281036108b65760005b81811061083d57506001600160a01b03608051163b156104e45760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b610120518110610695575050506105d46105b860209260031960a051820301602460a051015260e05161014051612849565b60031960a051820301604460a051015260c05161010051612849565b60031960a051820301606460a051015282815201959060005b81811061066d57505050600094610634926106179260031960a051840301608460a0510152612849565b60031960a05182030160a460a051015260a0519360a05193611fc7565b0360a051836001600160a01b03608051165af180156104d85761065d575b388080808080610277565b61066860a051611f49565b610652565b9091966020806001926001600160a01b036106878c611c69565b1681520198019291016105ed565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21610160513603018112156104e457602061083260019382936101605101906108136107f76101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b0361074a828801611c69565b16908501526001600160a01b0361076360c08701611c69565b1660c08501526001600160a01b0361077d60e08701611c69565b1660e08501526101006001600160a01b03610799828801611c69565b16908501526101206001600160a01b036107b4828801611c69565b16908501526101406107c7818701611c7d565b151590850152610160808601359085015261018090806107e9838801886127f9565b929093870152850191611fc7565b6101a0610806818601866127f9565b9185840390860152611fc7565b916108246101c091828101906127f9565b929091818503910152611fc7565b950193019101610586565b806108b0610856610851600194868c611d2d565b611d3d565b610861838888611d2d565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261034282611f5d565b0161050f565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f1816101205161016051611d5e565b906109028160e05161014051611d2d565b35916109148260c05161010051611d2d565b3592858310156111dc5761092d8360051b860186611d9e565b90918592819661093c866123ec565b92602087013542116111ab5760608701351590811561119e575b8115611195575b50801561118d575b611163576001600160a01b0361097e6101208801611d3d565b16600052600560205260ff6040600020541615801561113a575b611110576109a96101008701611d3d565b6001600160a01b03806109bf6101208a01611d3d565b169116146110e6576001600160a01b036109db60a08801611d3d565b161580156110c9575b80156110ac575b8015611090575b6110665760c086016001600160a01b03610a0b82611d3d565b1615159081611049575b5061101f57826000526006602052604060002054604087013514610ff557610a406101408701611d51565b15610fb55750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f5c5784610a70916124db565b670de0b6b3a76400006040870135818102918183041490151715610f5c57610a9d906060880135906124db565b10610f8b578160005260066020526040600020805490670de0b6b3a764000089048201809211610f5c575560808501358015670de0b6b3a76400008904808302839004141715610f5c57610b0290604087013590670de0b6b3a76400008a04026124db565b826000526006602052604086013560406000205411610f3257670de0b6b3a7640000809195049704925b610b6e6020610b3b3689612160565b604051809381927f95de97cc000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d857600091610ef8575b5015610e9057610bfc916020916001600160a01b03610bb760a08a01611d3d565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fc7565b03915afa9081156104d857600091610e15575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610deb575b6101808401610c698186611d9e565b9050610da3575b506101a084016014610c828287611d9e565b90501015610ced575b505060019450610cb590610ca26101008501611d3d565b90610caf60a08601611d3d565b91612886565b80610cc3575b505001610260565b610cd3610100610ce69301611d3d565b906001600160a01b036004541691612886565b3880610cbb565b610d026104106001600160a01b039287611d9e565b929091610d0e816127ab565b1690610d1c60a08801611d3d565b9084600052600660205260406000205494833b156104e457610d7587956000979388946040519e8f998a9889977f1ad047d200000000000000000000000000000000000000000000000000000000895260048901612774565b03925af19081156104d857600195610cb592610d94575b819250610c8b565b610d9d90611f49565b38610d8c565b610db0610db69186611d9e565b90612006565b15610dc15738610c70565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e88575b81610e3060209383611f79565b810103126104e457517fffffffff00000000000000000000000000000000000000000000000000000000811681036104e4577fffffffff00000000000000000000000000000000000000000000000000000000610c0f565b3d9150610e23565b610ea2610eb092610ea892369161210b565b836126ad565b919091612514565b6001600160a01b0380610ec560a08801611d3d565b1691160315610c5a5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f2a575b81610f1360209383611f79565b810103126104e457610f2490611fba565b38610b96565b3d9150610f06565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610f8b57604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2c565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361105d3392611d3d565b16141538610a15565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110a560e08801611d3d565b16156109f2565b506001600160a01b036110c26101008801611d3d565b16156109eb565b506001600160a01b036110df6101208801611d3d565b16156109e4565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036111506101008801611d3d565b1660005260ff6040600020541615610998565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610965565b9050153861095d565b6040880135159150610956565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610259565b5060c05160e0511415610252565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104e45760206003193601126104e4576112f6611c53565b6112fe611cbb565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104e45760006003193601126104e45760206001600160a01b0360025416604051908152f35b346104e45760206003193601126104e45760043560005260066020526020604060002054604051908152f35b346104e45760006003193601126104e45760206001600160a01b0360045416604051908152f35b346104e45760006003193601126104e4576020604051670de0b6b3a76400008152f35b346104e45760206003193601126104e4576001600160a01b0361141d611c53565b166000526005602052602060ff604060002054166040519015158152f35b346104e45760206003193601126104e4576004356001600160a01b038082168092036104e457611469611cbb565b811561106657600354908116908282146114e357604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e457611526611c53565b61152e611cbb565b6001600160a01b0390818116918215611066576004549081168381146115b557604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360015416604051908152f35b346104e45760006003193601126104e4576002546001600160a01b033381831603611688577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104e45760006003193601126104e457611725611cbb565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104e45760406003193601126104e45767ffffffffffffffff6004358181116104e4576117ba903690600401611c8a565b916024359081116104e4576117d3903690600401611c8a565b926117dc611cbb565b8015611225578381036108b65760005b8181106117f557005b6001600160a01b03908161180d610851838689611d2d565b1615611066576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761184a611845848a89611d2d565b611d51565b918061185a61085186898c611d2d565b1660005261189d6020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118ab61085185888b611d2d565b16916118bb611845858b8a611d2d565b6040519015158152a2016117ec565b346104e45760206003193601126104e4576001600160a01b036118eb611c53565b166000526007602052602060ff604060002054166040519015158152f35b346104e45760606003193601126104e457611922611c53565b604435906001600160a01b03908183168093036104e457611941611cbb565b16908115801561199a575b6110665761199891604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261034282611f5d565b005b50801561194c565b346104e4576119b036611bf2565b6119bc60a08201611d3d565b6001600160a01b0333911603611a33576119d5816123ec565b8060005260066020526040806000205492013591828114610ff55760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360035416604051908152f35b346104e45760006003193601126104e4576020611a9f611def565b604051908152f35b346104e45760406003193601126104e457611ac0611c53565b60243590811515908183036104e4576001600160a01b0390611ae0611cbb565b16918215611066578260005260076020528160ff60406000205416151514611b70577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b67602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e45760043567ffffffffffffffff81116104e457611bd0610db06020923690600401611c25565b6040519015158152f35b346104e4576020611a9f611bed36611bf2565b6123ec565b600319906020828201126104e4576004359167ffffffffffffffff83116104e457826101e0920301126104e45760040190565b9181601f840112156104e45782359167ffffffffffffffff83116104e457602083818601950101116104e457565b600435906001600160a01b03821682036104e457565b35906001600160a01b03821682036104e457565b359081151582036104e457565b9181601f840112156104e45782359167ffffffffffffffff83116104e4576020808501948460051b0101116104e457565b6001600160a01b03600154163303611ccf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111dc5760051b0190565b356001600160a01b03811681036104e45790565b3580151581036104e45790565b91908110156111dc5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104e4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104e4570180359067ffffffffffffffff82116104e4576020019181360383136104e457565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f20575b15611e4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611ef15760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e21565b67ffffffffffffffff8111611ef157604052565b6080810190811067ffffffffffffffff821117611ef157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef157604052565b519081151582036104e457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9061205e906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fc7565b03915afa9081156120c6576000928392612086575b50508161207e575090565b600191501490565b9080939250813d83116120bf575b61209e8183611f79565b810103126120bc575060206120b282611fba565b9101513880612073565b80fd5b503d612094565b82513d6000823e3d90fd5b67ffffffffffffffff8111611ef157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612117826120d1565b916121256040519384611f79565b8294818452818301116104e4578281602093846000960137010152565b9080601f830112156104e45781602061215d9335910161210b565b90565b9190916101e09081818503126104e4576040519182019067ffffffffffffffff9183811083821117611ef157604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121c960a08301611c69565b60a08501526121da60c08301611c69565b60c08501526121eb60e08301611c69565b60e08501526101006121fe818401611c69565b90850152610120612210818401611c69565b90850152610140612222818401611c7d565b908501526101608083013590850152610180808301358481116104e4578261224b918501612142565b908501526101a0808301358481116104e45782612269918501612142565b908501526101c092838301359081116104e4576122869201612142565b910152565b919082519283825260005b8481106122d55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612296565b9061215d916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123a16101a093828585015261020084019061228b565b928401516123dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c09286868303018487015261228b565b940151928285030191015261228b565b60206123fc61242f923690612160565b604051809381927fc3c1f2ec000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d8576000916124aa575b50612460611def565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124a481611f5d565b51902090565b906020823d82116124d3575b816124c360209383611f79565b810103126120bc57505138612457565b3d91506124b6565b81156124e5570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600581101561267e57806125255750565b6001810361258b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125f15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146125fa57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126db576126d7916020820151906060604084015193015160001a906126e5565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116127685791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561275b5781516001600160a01b03811615612755579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361215d98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fc7565b6001600160a01b03163081149081156127f0575b506127c657565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127bf565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104e457016020813591019167ffffffffffffffff82116104e45781360383136104e457565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104e45760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611ef1576128f3926040526128f5565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611ef157612986916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a3d573d9161296b836120d1565b926129796040519485611f79565b83523d868885013e612a41565b90815180612995575b50505050565b828491810103126120bc5750816129ac9101611fba565b156129b95780808061298f565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612abc5750815115612a55575090565b3b15612a5e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612acf5750805190602001fd5b612b0d906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061228b565b0390fd5b9160148210612b49577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122036b990b4d257fd6bd088a253c845303610cb8714d9fbcbe06b45ffce6d4443e564736f6c634300081500330000000000000000000000009680491850b5162c69786fde9bd8bcd12d81b3510000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x153f" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1540" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", + "[true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "gas": "0x5c4d5", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1541" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionIndex": "0x0", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x44a0a", + "gasUsed": "0x44a0a", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "logs": [], + "status": "0x1", + "root": "0x217dea2c51f905de5f26ecc121fe3c7648b606aaef7fc221790d0a7fbcffed17", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionIndex": "0x1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "logs": [], + "status": "0x1", + "root": "0xcf77317e182c2a4cfa7bbfb3eaf4323d0a76898642d6b0a044b9ccf0bdcc81b7", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x26fb8d", + "gasUsed": "0x26fb8d", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xee29c21a2e466aaac3da0bca9337b3b0a42ed5b1fa0f7f7ebda7075d0434600a", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000020000000000000000001000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionIndex": "0x3", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x1a761c498f2907d75f2a3a779d3d98a445528fb29c83f40f693a1c4a192884e9", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", + "cumulativeGasUsed": "0x42d34", + "gasUsed": "0x42d34", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "root": "0x211fa834f9195f8187549c38a54e42b0413bbef5bfe3b808e49b85157c6e6f7e", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000020000000000080000000800080000000000008000000000400004040000000001000000000000000800000000800000000000000000000001000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x8add30f1fe6535b0b6fcc4a7b495f000e1c4c5d4" + ], + "pending": [], + "returns": {}, + "timestamp": 1706874048, + "chain": 1891, + "multi": false, + "commit": "2290b4d" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json index 294bb60..19703f3 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -1,10 +1,10 @@ { "transactions": [ { - "hash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "hash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", "function": null, "arguments": null, "transaction": { @@ -12,16 +12,16 @@ "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", "gas": "0x59318", "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x54c" + "nonce": "0x153d" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "hash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", "function": null, "arguments": null, "transaction": { @@ -30,37 +30,37 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x54d" + "nonce": "0x153e" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "hash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", "function": null, "arguments": [ - "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "0x9680491850B5162C69786fdE9bd8bcd12d81b351", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x320276", + "gas": "0x32a99e", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002dd8601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612b109283620002c8843960805183611d8f015260a05183611e8a015260c05183611d60015260e05183611dde01525182611e0401525181611dbb0152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611b4157806315169dec14611b015780632024cbc114611a0e5780633644e515146119eb5780633c3efab4146119c45780635f2a64511461190957806369328dec146118705780636d70f7ae146118315780636fda538f146116ef578063715018a61461167357806379ba50971461156d5780638da5cb5b146115465780638efede3d1461147457806390d6e14c146113a2578063ab37f48614611363578063c2ee3a0814611340578063c415b95c14611319578063cf0f969d146112ed578063e30c3978146112c6578063f2fde38b146112445763fe61e35c1461010457600080fd5b3461049a5760e060031936011261049a5767ffffffffffffffff60043581811161049a57610136903690600401611bf1565b610120526101605260243581811161049a57610156903690600401611bf1565b60e0526101405260443581811161049a57610175903690600401611bf1565b60c0526101005260643581811161049a57610194903690600401611bf1565b60843583811161049a576101ac903690600401611b8c565b919060a43585811161049a576101c6903690600401611bf1565b93909560c43590811161049a576101e1903690600401611bf1565b93909533600052600760205260ff6040600020541615611214576002600054146111b6576002600055610120511561118c5760e051610120511480159061117e575b8015611172575b61086c5760005b61012051811061089657505050601481101561049f575b50505050505060005b610120518110610262576001600055005b610273816101205161016051611cc5565b906102848160e05161014051611c94565b356102958260c05161010051611c94565b3561029f84612353565b9361030d6102b06101208301611ca4565b6102bc60e08401611ca4565b906001600160a01b03604051927fa9059cbb0000000000000000000000000000000000000000000000000000000060208501521660248301528460448301526044825261030882611ec4565b61285c565b846000526006602052604060002054906101c08101601461032e8284611d05565b905010156103ba575b506001957f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef92826001600160a01b0361037561010060c09601611ca4565b16956001600160a01b0361038c6101208401611ca4565b1697608093604051958652602086015260408501526060840152803582840152013560a0820152a301610251565b956103d76103d183986001600160a01b0394611d05565b90612a78565b916103e481959295612712565b166103f160a08a01611ca4565b90803b1561049a57876000889361043c82968a996040519b8c98899788967fb6e1471a0000000000000000000000000000000000000000000000000000000088528d600489016126db565b03925af191821561048e576001977f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9460c09461047f575b509250925095610337565b61048890611eb0565b38610474565b6040513d6000823e3d90fd5b600080fd5b6104a891612a78565b90949160805293926104bb608051612712565b82810361086c5760005b8181106107f357506001600160a01b03608051163b1561049a5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b61012051811061064b5750505061058a61056e60209260031960a051820301602460a051015260e051610140516127b0565b60031960a051820301604460a051015260c051610100516127b0565b60031960a051820301606460a051015282815201959060005b818110610623575050506000946105ea926105cd9260031960a051840301608460a05101526127b0565b60031960a05182030160a460a051015260a0519360a05193611f2e565b0360a051836001600160a01b03608051165af1801561048e57610613575b388080808080610248565b61061e60a051611eb0565b610608565b9091966020806001926001600160a01b0361063d8c611bd0565b1681520198019291016105a3565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe216101605136030181121561049a5760206107e860019382936101605101906107c96107ad6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610700828801611bd0565b16908501526001600160a01b0361071960c08701611bd0565b1660c08501526001600160a01b0361073360e08701611bd0565b1660e08501526101006001600160a01b0361074f828801611bd0565b16908501526101206001600160a01b0361076a828801611bd0565b169085015261014061077d818701611be4565b1515908501526101608086013590850152610180908061079f83880188612760565b929093870152850191611f2e565b6101a06107bc81860186612760565b9185840390860152611f2e565b916107da6101c09182810190612760565b929091818503910152611f2e565b95019301910161053c565b8061086661080c610807600194868c611c94565b611ca4565b610817838888611c94565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261030882611ec4565b016104c5565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108a7816101205161016051611cc5565b906108b88160e05161014051611c94565b35916108ca8260c05161010051611c94565b359285831015611143576108e38360051b860186611d05565b9180916108ef85612353565b916020860135421161111257606086013515908115611105575b81156110fc575b5080156110f4575b6110ca576001600160a01b036109316101208701611ca4565b16600052600560205260ff604060002054161580156110a1575b6110775761095c6101008601611ca4565b6001600160a01b03806109726101208901611ca4565b1691161461104d576001600160a01b0361098e60a08701611ca4565b16158015611030575b8015611013575b8015610ff7575b610fcd5760c085016001600160a01b036109be82611ca4565b1615159081610fb0575b50610f8657816000526006602052604060002054604086013514610f5c576109f36101408601611cb8565b15610f2a57670de0b6b3a7640000808402848104821485151715610ed15788610a1b91612442565b906040870135808202918115918304141715610ed157610a4090606088013590612442565b10610f00578160005260066020526040600020805490848201809211610ed1575560808501358084810204841481151715610ed157610a86908460408801359102612442565b826000526006602052604086013560406000205411610ea757935b610ae36020610ab036896120c7565b604051809381927f95de97cc00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091610e6d575b5015610e0557610b71916020916001600160a01b03610b2c60a08a01611ca4565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611f2e565b03915afa90811561048e57600091610d8a575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610d60575b6101808401610bde8186611d05565b9050610d18575b506101a084016014610bf78287611d05565b90501015610c62575b505060019450610c2a90610c176101008501611ca4565b90610c2460a08601611ca4565b916127ed565b80610c38575b505001610231565b610c48610100610c5b9301611ca4565b906001600160a01b0360045416916127ed565b3880610c30565b610c776103d16001600160a01b039287611d05565b929091610c8381612712565b1690610c9160a08801611ca4565b9084600052600660205260406000205494833b1561049a57610cea87956000979388946040519e8f998a9889977f1ad047d2000000000000000000000000000000000000000000000000000000008952600489016126db565b03925af190811561048e57600195610c2a92610d09575b819250610c00565b610d1290611eb0565b38610d01565b610d25610d2b9186611d05565b90611f6d565b15610d365738610be5565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610dfd575b81610da560209383611ee0565b8101031261049a57517fffffffff000000000000000000000000000000000000000000000000000000008116810361049a577fffffffff00000000000000000000000000000000000000000000000000000000610b84565b3d9150610d98565b610e17610e2592610e1d923691612072565b83612614565b91909161247b565b6001600160a01b0380610e3a60a08801611ca4565b1691160315610bcf5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e9f575b81610e8860209383611ee0565b8101031261049a57610e9990611f21565b38610b0b565b3d9150610e7b565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b915085606085013511610f00576040840135916080850135938260005260066020526040860135604060002055610aa1565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b03610fc43392611ca4565b161415386109c8565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361100c60e08701611ca4565b16156109a5565b506001600160a01b036110296101008701611ca4565b161561099e565b506001600160a01b036110466101208701611ca4565b1615610997565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110b76101008701611ca4565b1660005260ff604060002054161561094b565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508615610918565b90501538610910565b6040870135159150610909565b602483604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b3461049a57602060031936011261049a5761125d611bba565b611265611c22565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b3461049a57600060031936011261049a5760206001600160a01b0360025416604051908152f35b3461049a57602060031936011261049a5760043560005260066020526020604060002054604051908152f35b3461049a57600060031936011261049a5760206001600160a01b0360045416604051908152f35b3461049a57600060031936011261049a576020604051670de0b6b3a76400008152f35b3461049a57602060031936011261049a576001600160a01b03611384611bba565b166000526005602052602060ff604060002054166040519015158152f35b3461049a57602060031936011261049a576004356001600160a01b0380821680920361049a576113d0611c22565b8115610fcd576003549081169082821461144a57604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5761148d611bba565b611495611c22565b6001600160a01b0390818116918215610fcd5760045490811683811461151c57604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360015416604051908152f35b3461049a57600060031936011261049a576002546001600160a01b0333818316036115ef577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b3461049a57600060031936011261049a5761168c611c22565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461049a57604060031936011261049a5767ffffffffffffffff60043581811161049a57611721903690600401611bf1565b9160243590811161049a5761173a903690600401611bf1565b92611743611c22565b801561118c5783810361086c5760005b81811061175c57005b6001600160a01b039081611774610807838689611c94565b1615610fcd576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e2744176117b16117ac848a89611c94565b611cb8565b91806117c161080786898c611c94565b166000526118046020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b61181261080785888b611c94565b16916118226117ac858b8a611c94565b6040519015158152a201611753565b3461049a57602060031936011261049a576001600160a01b03611852611bba565b166000526007602052602060ff604060002054166040519015158152f35b3461049a57606060031936011261049a57611889611bba565b604435906001600160a01b039081831680930361049a576118a8611c22565b169081158015611901575b610fcd576118ff91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261030882611ec4565b005b5080156118b3565b3461049a5761191736611b59565b61192360a08201611ca4565b6001600160a01b033391160361199a5761193c81612353565b8060005260066020526040806000205492013591828114610f5c5760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b3461049a57600060031936011261049a5760206001600160a01b0360035416604051908152f35b3461049a57600060031936011261049a576020611a06611d56565b604051908152f35b3461049a57604060031936011261049a57611a27611bba565b602435908115159081830361049a576001600160a01b0390611a47611c22565b16918215610fcd578260005260076020528160ff60406000205416151514611ad7577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611ace602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b3461049a57602060031936011261049a5760043567ffffffffffffffff811161049a57611b37610d256020923690600401611b8c565b6040519015158152f35b3461049a576020611a06611b5436611b59565b612353565b6003199060208282011261049a576004359167ffffffffffffffff831161049a57826101e09203011261049a5760040190565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020838186019501011161049a57565b600435906001600160a01b038216820361049a57565b35906001600160a01b038216820361049a57565b3590811515820361049a57565b9181601f8401121561049a5782359167ffffffffffffffff831161049a576020808501948460051b01011161049a57565b6001600160a01b03600154163303611c3657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111435760051b0190565b356001600160a01b038116810361049a5790565b35801515810361049a5790565b91908110156111435760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561049a570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561049a570180359067ffffffffffffffff821161049a5760200191813603831361049a57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e87575b15611db1577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611e585760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611d88565b67ffffffffffffffff8111611e5857604052565b6080810190811067ffffffffffffffff821117611e5857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611e5857604052565b5190811515820361049a57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90611fc5906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611f2e565b03915afa90811561202d576000928392611fed575b505081611fe5575090565b600191501490565b9080939250813d8311612026575b6120058183611ee0565b810103126120235750602061201982611f21565b9101513880611fda565b80fd5b503d611ffb565b82513d6000823e3d90fd5b67ffffffffffffffff8111611e5857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261207e82612038565b9161208c6040519384611ee0565b82948184528183011161049a578281602093846000960137010152565b9080601f8301121561049a578160206120c493359101612072565b90565b9190916101e090818185031261049a576040519182019067ffffffffffffffff9183811083821117611e58576040528294813584526020820135602085015260408201356040850152606082013560608501526080820135608085015261213060a08301611bd0565b60a085015261214160c08301611bd0565b60c085015261215260e08301611bd0565b60e0850152610100612165818401611bd0565b90850152610120612177818401611bd0565b90850152610140612189818401611be4565b9085015261016080830135908501526101808083013584811161049a57826121b29185016120a9565b908501526101a08083013584811161049a57826121d09185016120a9565b908501526101c0928383013590811161049a576121ed92016120a9565b910152565b919082519283825260005b84811061223c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016121fd565b906120c4916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123086101a09382858501526102008401906121f2565b928401516123437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526121f2565b94015192828503019101526121f2565b60206123636123969236906120c7565b604051809381927fc3c1f2ec00000000000000000000000000000000000000000000000000000000835260048301612250565b038173b836de9879576609c6649f01d228311ddcb99c905af490811561048e57600091612411575b506123c7611d56565b906040519060208201927f19010000000000000000000000000000000000000000000000000000000000008452602283015260428201526042815261240b81611ec4565b51902090565b906020823d821161243a575b8161242a60209383611ee0565b81010312612023575051386123be565b3d915061241d565b811561244c570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156125e5578061248c5750565b600181036124f25760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125585760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461256157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126425761263e916020820151906060604084015193015160001a9061264c565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116126cf5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156126c25781516001600160a01b038116156126bc579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b036120c498969360c0969386521660208501526040840152606083015260808201528160a08201520191611f2e565b6001600160a01b0316308114908115612757575b5061272d57565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b90501538612726565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561049a57016020813591019167ffffffffffffffff821161049a57813603831361049a57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161049a5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611e585761285a9260405261285c565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611e58576128ed916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129a4573d916128d283612038565b926128e06040519485611ee0565b83523d868885013e6129a8565b908151806128fc575b50505050565b828491810103126120235750816129139101611f21565b15612920578080806128f6565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612a2357508151156129bc575090565b3b156129c55790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612a365750805190602001fd5b612a74906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906121f2565b0390fd5b9160148210612ab0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220d87ea5dac76b4fe26365a437e82d4ea8ef37bd102b5e9128b5223f08d0ad7aa864736f6c6343000815003300000000000000000000000090b2e7f35b3ff711375fa163ef988aeed94139100000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x54e" + "data": "0x61014034620002a6576001600160401b0362002e71601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ba99283620002c8843960805183611e28015260a05183611f23015260c05183611df9015260e05183611e7701525182611e9d01525181611e540152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bda57806315169dec14611b9a5780632024cbc114611aa75780633644e51514611a845780633c3efab414611a5d5780635f2a6451146119a257806369328dec146119095780636d70f7ae146118ca5780636fda538f14611788578063715018a61461170c57806379ba5097146116065780638da5cb5b146115df5780638efede3d1461150d57806390d6e14c1461143b578063ab37f486146113fc578063c2ee3a08146113d9578063c415b95c146113b2578063cf0f969d14611386578063e30c39781461135f578063f2fde38b146112dd5763fe61e35c1461010457600080fd5b346104e45760e06003193601126104e45760043567ffffffffffffffff81116104e457610135903690600401611c8a565b610120526101605260243567ffffffffffffffff81116104e45761015d903690600401611c8a565b60e0526101405260443567ffffffffffffffff81116104e457610184903690600401611c8a565b60c0526101005260643567ffffffffffffffff81116104e4576101ab903690600401611c8a565b9060843567ffffffffffffffff81116104e4576101cc903690600401611c25565b9260a43567ffffffffffffffff81116104e4576101ed903690600401611c8a565b92909467ffffffffffffffff60c435116104e4576102103660c435600401611c8a565b93909533600052600760205260ff60406000205416156112ad5760026000541461124f57600260005561012051156112255760e0516101205114801590611217575b801561120b575b6108b65760005b6101205181106108e05750505060148110156104e9575b50505050505060005b610120518110610291576001600055005b6102a2816101205161016051611d5e565b906102b38160e05161014051611d2d565b356102c48260c05161010051611d2d565b356102ce846123ec565b670de0b6b3a7640000946103476102e86101208301611d3d565b6102f460e08401611d3d565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288860460448301526044825261034282611f5d565b6128f5565b816000526006602052604060002054956101c0820160146103688285611d9e565b905010156103f8575b5091600196827f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef946001600160a01b036103b061010060c09701611d3d565b1696816001600160a01b036103c86101208601611d3d565b16996080956040519788526020880152046040860152046060840152803582840152013560a0820152a301610280565b966104166104106001600160a01b0395939985611d9e565b90612b11565b91610423819792976127ab565b169061043160a08601611d3d565b95823b156104e457848b97928992868c8b966040519c8d9889987fb6e1471a000000000000000000000000000000000000000000000000000000008a5204920490600488019661048097612774565b03815a6000948591f19283156104d8576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956104c9575b50929450925096610371565b6104d290611f49565b386104bd565b6040513d6000823e3d90fd5b600080fd5b6104f291612b11565b90949160805293926105056080516127ab565b8281036108b65760005b81811061083d57506001600160a01b03608051163b156104e45760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b610120518110610695575050506105d46105b860209260031960a051820301602460a051015260e05161014051612849565b60031960a051820301604460a051015260c05161010051612849565b60031960a051820301606460a051015282815201959060005b81811061066d57505050600094610634926106179260031960a051840301608460a0510152612849565b60031960a05182030160a460a051015260a0519360a05193611fc7565b0360a051836001600160a01b03608051165af180156104d85761065d575b388080808080610277565b61066860a051611f49565b610652565b9091966020806001926001600160a01b036106878c611c69565b1681520198019291016105ed565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21610160513603018112156104e457602061083260019382936101605101906108136107f76101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b0361074a828801611c69565b16908501526001600160a01b0361076360c08701611c69565b1660c08501526001600160a01b0361077d60e08701611c69565b1660e08501526101006001600160a01b03610799828801611c69565b16908501526101206001600160a01b036107b4828801611c69565b16908501526101406107c7818701611c7d565b151590850152610160808601359085015261018090806107e9838801886127f9565b929093870152850191611fc7565b6101a0610806818601866127f9565b9185840390860152611fc7565b916108246101c091828101906127f9565b929091818503910152611fc7565b950193019101610586565b806108b0610856610851600194868c611d2d565b611d3d565b610861838888611d2d565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261034282611f5d565b0161050f565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f1816101205161016051611d5e565b906109028160e05161014051611d2d565b35916109148260c05161010051611d2d565b3592858310156111dc5761092d8360051b860186611d9e565b90918592819661093c866123ec565b92602087013542116111ab5760608701351590811561119e575b8115611195575b50801561118d575b611163576001600160a01b0361097e6101208801611d3d565b16600052600560205260ff6040600020541615801561113a575b611110576109a96101008701611d3d565b6001600160a01b03806109bf6101208a01611d3d565b169116146110e6576001600160a01b036109db60a08801611d3d565b161580156110c9575b80156110ac575b8015611090575b6110665760c086016001600160a01b03610a0b82611d3d565b1615159081611049575b5061101f57826000526006602052604060002054604087013514610ff557610a406101408701611d51565b15610fb55750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f5c5784610a70916124db565b670de0b6b3a76400006040870135818102918183041490151715610f5c57610a9d906060880135906124db565b10610f8b578160005260066020526040600020805490670de0b6b3a764000089048201809211610f5c575560808501358015670de0b6b3a76400008904808302839004141715610f5c57610b0290604087013590670de0b6b3a76400008a04026124db565b826000526006602052604086013560406000205411610f3257670de0b6b3a7640000809195049704925b610b6e6020610b3b3689612160565b604051809381927f95de97cc000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d857600091610ef8575b5015610e9057610bfc916020916001600160a01b03610bb760a08a01611d3d565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fc7565b03915afa9081156104d857600091610e15575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610deb575b6101808401610c698186611d9e565b9050610da3575b506101a084016014610c828287611d9e565b90501015610ced575b505060019450610cb590610ca26101008501611d3d565b90610caf60a08601611d3d565b91612886565b80610cc3575b505001610260565b610cd3610100610ce69301611d3d565b906001600160a01b036004541691612886565b3880610cbb565b610d026104106001600160a01b039287611d9e565b929091610d0e816127ab565b1690610d1c60a08801611d3d565b9084600052600660205260406000205494833b156104e457610d7587956000979388946040519e8f998a9889977f1ad047d200000000000000000000000000000000000000000000000000000000895260048901612774565b03925af19081156104d857600195610cb592610d94575b819250610c8b565b610d9d90611f49565b38610d8c565b610db0610db69186611d9e565b90612006565b15610dc15738610c70565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e88575b81610e3060209383611f79565b810103126104e457517fffffffff00000000000000000000000000000000000000000000000000000000811681036104e4577fffffffff00000000000000000000000000000000000000000000000000000000610c0f565b3d9150610e23565b610ea2610eb092610ea892369161210b565b836126ad565b919091612514565b6001600160a01b0380610ec560a08801611d3d565b1691160315610c5a5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f2a575b81610f1360209383611f79565b810103126104e457610f2490611fba565b38610b96565b3d9150610f06565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610f8b57604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2c565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361105d3392611d3d565b16141538610a15565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110a560e08801611d3d565b16156109f2565b506001600160a01b036110c26101008801611d3d565b16156109eb565b506001600160a01b036110df6101208801611d3d565b16156109e4565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036111506101008801611d3d565b1660005260ff6040600020541615610998565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610965565b9050153861095d565b6040880135159150610956565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610259565b5060c05160e0511415610252565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104e45760206003193601126104e4576112f6611c53565b6112fe611cbb565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104e45760006003193601126104e45760206001600160a01b0360025416604051908152f35b346104e45760206003193601126104e45760043560005260066020526020604060002054604051908152f35b346104e45760006003193601126104e45760206001600160a01b0360045416604051908152f35b346104e45760006003193601126104e4576020604051670de0b6b3a76400008152f35b346104e45760206003193601126104e4576001600160a01b0361141d611c53565b166000526005602052602060ff604060002054166040519015158152f35b346104e45760206003193601126104e4576004356001600160a01b038082168092036104e457611469611cbb565b811561106657600354908116908282146114e357604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e457611526611c53565b61152e611cbb565b6001600160a01b0390818116918215611066576004549081168381146115b557604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360015416604051908152f35b346104e45760006003193601126104e4576002546001600160a01b033381831603611688577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104e45760006003193601126104e457611725611cbb565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104e45760406003193601126104e45767ffffffffffffffff6004358181116104e4576117ba903690600401611c8a565b916024359081116104e4576117d3903690600401611c8a565b926117dc611cbb565b8015611225578381036108b65760005b8181106117f557005b6001600160a01b03908161180d610851838689611d2d565b1615611066576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761184a611845848a89611d2d565b611d51565b918061185a61085186898c611d2d565b1660005261189d6020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118ab61085185888b611d2d565b16916118bb611845858b8a611d2d565b6040519015158152a2016117ec565b346104e45760206003193601126104e4576001600160a01b036118eb611c53565b166000526007602052602060ff604060002054166040519015158152f35b346104e45760606003193601126104e457611922611c53565b604435906001600160a01b03908183168093036104e457611941611cbb565b16908115801561199a575b6110665761199891604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261034282611f5d565b005b50801561194c565b346104e4576119b036611bf2565b6119bc60a08201611d3d565b6001600160a01b0333911603611a33576119d5816123ec565b8060005260066020526040806000205492013591828114610ff55760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360035416604051908152f35b346104e45760006003193601126104e4576020611a9f611def565b604051908152f35b346104e45760406003193601126104e457611ac0611c53565b60243590811515908183036104e4576001600160a01b0390611ae0611cbb565b16918215611066578260005260076020528160ff60406000205416151514611b70577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b67602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e45760043567ffffffffffffffff81116104e457611bd0610db06020923690600401611c25565b6040519015158152f35b346104e4576020611a9f611bed36611bf2565b6123ec565b600319906020828201126104e4576004359167ffffffffffffffff83116104e457826101e0920301126104e45760040190565b9181601f840112156104e45782359167ffffffffffffffff83116104e457602083818601950101116104e457565b600435906001600160a01b03821682036104e457565b35906001600160a01b03821682036104e457565b359081151582036104e457565b9181601f840112156104e45782359167ffffffffffffffff83116104e4576020808501948460051b0101116104e457565b6001600160a01b03600154163303611ccf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111dc5760051b0190565b356001600160a01b03811681036104e45790565b3580151581036104e45790565b91908110156111dc5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104e4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104e4570180359067ffffffffffffffff82116104e4576020019181360383136104e457565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f20575b15611e4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611ef15760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e21565b67ffffffffffffffff8111611ef157604052565b6080810190811067ffffffffffffffff821117611ef157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef157604052565b519081151582036104e457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9061205e906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fc7565b03915afa9081156120c6576000928392612086575b50508161207e575090565b600191501490565b9080939250813d83116120bf575b61209e8183611f79565b810103126120bc575060206120b282611fba565b9101513880612073565b80fd5b503d612094565b82513d6000823e3d90fd5b67ffffffffffffffff8111611ef157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612117826120d1565b916121256040519384611f79565b8294818452818301116104e4578281602093846000960137010152565b9080601f830112156104e45781602061215d9335910161210b565b90565b9190916101e09081818503126104e4576040519182019067ffffffffffffffff9183811083821117611ef157604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121c960a08301611c69565b60a08501526121da60c08301611c69565b60c08501526121eb60e08301611c69565b60e08501526101006121fe818401611c69565b90850152610120612210818401611c69565b90850152610140612222818401611c7d565b908501526101608083013590850152610180808301358481116104e4578261224b918501612142565b908501526101a0808301358481116104e45782612269918501612142565b908501526101c092838301359081116104e4576122869201612142565b910152565b919082519283825260005b8481106122d55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612296565b9061215d916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123a16101a093828585015261020084019061228b565b928401516123dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c09286868303018487015261228b565b940151928285030191015261228b565b60206123fc61242f923690612160565b604051809381927fc3c1f2ec000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d8576000916124aa575b50612460611def565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124a481611f5d565b51902090565b906020823d82116124d3575b816124c360209383611f79565b810103126120bc57505138612457565b3d91506124b6565b81156124e5570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600581101561267e57806125255750565b6001810361258b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125f15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146125fa57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126db576126d7916020820151906060604084015193015160001a906126e5565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116127685791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561275b5781516001600160a01b03811615612755579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361215d98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fc7565b6001600160a01b03163081149081156127f0575b506127c657565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127bf565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104e457016020813591019167ffffffffffffffff82116104e45781360383136104e457565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104e45760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611ef1576128f3926040526128f5565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611ef157612986916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a3d573d9161296b836120d1565b926129796040519485611f79565b83523d868885013e612a41565b90815180612995575b50505050565b828491810103126120bc5750816129ac9101611fba565b156129b95780808061298f565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612abc5750815115612a55575090565b3b15612a5e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612acf5750805190602001fd5b612b0d906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061228b565b0390fd5b9160148210612b49577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122036b990b4d257fd6bd088a253c845303610cb8714d9fbcbe06b45ffce6d4443e564736f6c634300081500330000000000000000000000009680491850b5162c69786fde9bd8bcd12d81b3510000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x153f" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "hash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,20 +69,20 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x54f" + "nonce": "0x1540" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "hash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", @@ -91,11 +91,11 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0x7d2f5dba3f8126051d5397ee653698b968d87083", + "to": "0xd84815be6330a61524893920bdff175f63a1104f", "gas": "0x5c4d5", "value": "0x0", "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x550" + "nonce": "0x1541" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,291 @@ ], "receipts": [ { - "transactionHash": "0x6bc4977121bd2a6bd5cc942cc62579ed056c2dd780cd2577615b900c25349f66", + "transactionHash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", "transactionIndex": "0x0", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x44a0a", "gasUsed": "0x44a0a", - "contractAddress": "0xb836DE9879576609C6649F01D228311DDcB99C90", + "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", "logs": [], "status": "0x1", - "root": "0x86cfeb0e1e6ff25d7403c5bb7981000a6da0776f5b775a4014a774e2145f67e5", + "root": "0x217dea2c51f905de5f26ecc121fe3c7648b606aaef7fc221790d0a7fbcffed17", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x8942c1dc9dc1856a1695b1765efe37d811e6ddfd6cd5739131a593a8b7b0c9cd", + "transactionHash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", "transactionIndex": "0x1", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0x90b2e7f35B3ff711375FA163Ef988aEeD9413910", + "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", "logs": [], "status": "0x1", - "root": "0x09afc8d13eb8da41c6c5dd80936f9e7fb35e55a21865d15428afeb531bab0484", + "root": "0xcf77317e182c2a4cfa7bbfb3eaf4323d0a76898642d6b0a044b9ccf0bdcc81b7", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", "transactionIndex": "0x2", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x267aee", - "gasUsed": "0x267aee", - "contractAddress": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "cumulativeGasUsed": "0x26fb8d", + "gasUsed": "0x26fb8d", + "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", "logs": [ { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5da1143328b47370d4d45c9ce46d207c1894c2302ff00b41942ce6dbe7aef1ea", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xb7c1c2f1f2120fa37a94dc5ac4803b3813ac11afd5e928aca9c7454ac7c77fa5", - "logsBloom": "0x00020000000000000000000020800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000004000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "root": "0xee29c21a2e466aaac3da0bca9337b3b0a42ed5b1fa0f7f7ebda7075d0434600a", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000020000000000000000001000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", "transactionIndex": "0x3", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x5278140995bf416036c2dab30643a6c46efd69ca0c5a0d0b4ff74d448850eedc", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", "transactionIndex": "0x3", "logIndex": "0x3", "removed": false } ], "status": "0x1", - "root": "0x8066d7d6a4cd074a6c579d0cf47e5824e70ff023e69f235aace48731faf7941d", - "logsBloom": "0x00080000000000000000000020800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "root": "0x1a761c498f2907d75f2a3a779d3d98a445528fb29c83f40f693a1c4a192884e9", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "to": "0xd84815be6330a61524893920bdff175F63a1104F", "cumulativeGasUsed": "0x42d34", "gasUsed": "0x42d34", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x4", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x5", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x6", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x7", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x8", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0x9", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0xa", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0xb", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0xc", "removed": false }, { - "address": "0x7D2f5DBA3F8126051D5397Ee653698b968d87083", + "address": "0xd84815be6330a61524893920bdff175F63a1104F", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0x62da77e9c7d493b59afbc40bbac76210e5a88b6dbf9355d4cf4c1557dc595812", - "blockNumber": "0x3854cb1", - "transactionHash": "0x3526b78bd7ab5ce065d84ad44657e6b5144d04e90ca3f5fbca1a2857f7db52ac", + "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", + "blockNumber": "0x3f6935f", + "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", "transactionIndex": "0x4", "logIndex": "0xd", "removed": false } ], "status": "0x1", - "root": "0xa5139fc4ee34d2123538c4598f56333340e0ba96e24bcbb8f5ba9eddd490ed1a", - "logsBloom": "0x00000002100000000000000020000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000004000040000000000000080000020000000000000000000000000080000000800000000000000008000000000400004040000000001000000000100000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "root": "0x211fa834f9195f8187549c38a54e42b0413bbef5bfe3b808e49b85157c6e6f7e", + "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000020000000000080000000800080000000000008000000000400004040000000001000000000000000800000000800000000000000000000001000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0xb836de9879576609c6649f01d228311ddcb99c90" + "src/libraries/OrderEngine.sol:OrderEngine:0x8add30f1fe6535b0b6fcc4a7b495f000e1c4c5d4" ], "pending": [], "returns": {}, - "timestamp": 1703142822, + "timestamp": 1706874048, "chain": 1891, "multi": false, - "commit": "951d56e" + "commit": "2290b4d" } \ No newline at end of file From 3d1dbf63b0a1a838726fff31c772a536bb4531f8 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 16:43:24 +0500 Subject: [PATCH 110/122] fix --- script/transactionOrder.s.sol | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/script/transactionOrder.s.sol b/script/transactionOrder.s.sol index 03af9ed..c74ffa8 100644 --- a/script/transactionOrder.s.sol +++ b/script/transactionOrder.s.sol @@ -42,13 +42,13 @@ contract TransactionScript is Script { uint256[] memory sell = new uint256[](2); - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; + sell[0] = sellOrder.sellTokenAmount * 1e18; + sell[1] = buyOrder.sellTokenAmount * 1e18; uint256[] memory buy = new uint256[](2); - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; + buy[0] = sellOrder.buyTokenAmount * 1e18; + buy[1] = buyOrder.buyTokenAmount * 1e18; bytes[] memory sigs = new bytes[](2); From c222e9ec5264a468df520e5e1db1e096bcb10507 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 16:48:18 +0500 Subject: [PATCH 111/122] rem file --- test/unit/fuzz/OrderEngine.t.sol | 49 -------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 test/unit/fuzz/OrderEngine.t.sol diff --git a/test/unit/fuzz/OrderEngine.t.sol b/test/unit/fuzz/OrderEngine.t.sol deleted file mode 100644 index ca96a54..0000000 --- a/test/unit/fuzz/OrderEngine.t.sol +++ /dev/null @@ -1,49 +0,0 @@ -// // SPDX-License-Identifier: MIT -// pragma solidity 0.8.21; - -// import "forge-std/Test.sol"; -// import "forge-std/console.sol"; -// import "../../../src/Helper/VerifyPredicatesLogic.sol"; -// import "../../../src/Predicates.sol"; -// import "../../../src/Helper/GenerateCalldata.sol"; -// import "../../../src/Helper/TargetContract.sol"; -// import "../../../src/AdvancedOrderEngine.sol"; - -// import {IPredicates} from "../../.././src/interfaces/IPredicates.sol"; - - -// contract AdvancedOrderEngineTest is Test { -// AdvancedOrderEngine public advancedOrderEngine; -// address owner; - -// function setUp() public { -// // Set up your test environment here -// // Example: Deploy the AdvancedOrderEngine contract -// owner = address(this); // assuming the test contract is the owner - -// predicateContract = new Predicates(); -// verifyPredicate = new VerifyPredicatesLogic(address(predicateContract)); - -// IPredicates predicates = new IPredicates(); // Deploy or mock the predicates contract -// address feeCollector = address(1); // Use a mock address for fee collector - -// advancedOrderEngine = new AdvancedOrderEngine(predicates, feeCollector); -// } - -// function testExampleFunctionality() public { -// // Example test function -// // Assuming you want to test the manageOperatorPrivilege function - -// address operatorAddress = address(2); // Use a mock address for operator -// bool access = true; - -// vm.prank(owner); // Impersonate the owner -// advancedOrderEngine.manageOperatorPrivilege(operatorAddress, access); - -// assertTrue(advancedOrderEngine.isOperator(operatorAddress)); -// } - -// // Add more test functions here to cover different aspects of your contract -// } - - From 804c9ff875ad771df4e1cfbebc9d4a0adfec8b97 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 2 Feb 2024 16:49:23 +0500 Subject: [PATCH 112/122] rem file --- test/LiveAdvancedOrderEngine.t.sol | 405 ----------------------------- 1 file changed, 405 deletions(-) delete mode 100644 test/LiveAdvancedOrderEngine.t.sol diff --git a/test/LiveAdvancedOrderEngine.t.sol b/test/LiveAdvancedOrderEngine.t.sol deleted file mode 100644 index 9827a52..0000000 --- a/test/LiveAdvancedOrderEngine.t.sol +++ /dev/null @@ -1,405 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.21; - -import "forge-std/Test.sol"; -import "./../src/Predicates.sol"; -import "./../src/interfaces/IPredicates.sol"; -import "./../src/AdvancedOrderEngine.sol"; -import "./../src/AdvancedOrderEngineErrors.sol"; -import "./../src/libraries/OrderEngine.sol"; -import "./../src/Helper/GenerateCalldata.sol"; -import "./interfaces/swaprouter.sol"; -import "./interfaces/weth9.sol"; -import "openzeppelin/token/ERC20/IERC20.sol"; -import "openzeppelin/utils/cryptography/ECDSA.sol"; - -contract LiveAdvancedOrderEngineTest is Test { - Predicates predicates = Predicates(0xF290FF9ED61cB43F96D3F374474f05810d505430); - AdvancedOrderEngine advancedOrderEngine = AdvancedOrderEngine(0xDaC771732B2211e2d2c691DC95f9Cf75A61a5974); - GenerateCalldata generateCalldata; - // IERC20 weth = IERC20(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2); - IERC20 usdt = IERC20(0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9); - IERC20 usdc = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); - IERC20 wmatic = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); - IERC20 dai = IERC20(0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66); - IERC20 wbtc = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); - IERC20 arb = IERC20(0x124ABC63F20c6e2088078bd61e2Db100Ff30836e); - IERC20 op = IERC20(0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9); - IERC20 uni = IERC20(0x8488c316e23504B8554e4BdE9651802CD45aea24); - IERC20 link = IERC20(0xeDc98fc6240671dF8e7eD035CE39143320c1A174); - IERC20 kub = IERC20(0xeEf8e3c318fb3d86489FB258847d028adC629e14); - ISwapRouter02 swapRouter02 = ISwapRouter02(0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45); - address zeroAddress = address(0); - uint256 ownerPrivateKey = vm.envUint("PRIVATE_KEY"); - address owner = vm.addr(ownerPrivateKey); - address feeCollector = owner; - address admin = owner; - uint256 maker1PrivateKey = vm.envUint("LIVE_MAKER1"); - address maker1 = vm.addr(maker1PrivateKey); - uint256 maker2PrivateKey = vm.envUint("LIVE_MAKER2"); - address maker2 = vm.addr(maker2PrivateKey); - uint256 operatorPrivateKey = 0xB0B; - address operator = owner; - - - function setUp() public { - vm.startPrank(admin); - - // predicates = new Predicates(); - generateCalldata = new GenerateCalldata(address(predicates)); - // advancedOrderEngine = new AdvancedOrderEngine(IPredicates(address(predicates)), feeCollector); - - // advancedOrderEngine.manageOperatorPrivilege(operator, true); - - // IERC20[] memory tokens = new IERC20[](2); - // bool[] memory access = new bool[](2); - - // tokens[0] = usdc; // Assuming these addresses are valid ERC20 tokens - // tokens[1] = weth; - - // // Whitelisting tokens - // access[0] = true; - // access[1] = true; - // advancedOrderEngine.updateTokenWhitelist(tokens, access); - - // vm.deal(maker1, 20 ether); - // vm.deal(maker2, 20 ether); - // vm.deal(operator, 20 ether); - // vm.deal(admin, 20 ether); - - vm.stopPrank(); - - vm.startPrank(maker1); - - // usdc.approve(address(swapRouter02), UINT256_MAX); - usdc.approve(address(advancedOrderEngine), UINT256_MAX); - - // // get usdc - // swapRouter02.exactInputSingle{value: 1 ether}( - // ISwapRouter02.ExactInputSingleParams ( - // address(weth), - // address(usdc), - // 500, - // maker1, - // 1 ether, - // 0, - // 0 - // ) - // ); - - vm.stopPrank(); - - vm.startPrank(maker2); - - // wmatic.approve(address(swapRouter02), UINT256_MAX); - wmatic.approve(address(advancedOrderEngine), UINT256_MAX); - - // // get weth - // IWETH9(address(weth)).deposit{value: 1 ether}(); - - vm.stopPrank(); - } - - function testOperatorPriviledge() public { - vm.startPrank(admin); - - address testOperator = address(99); - - assertEq(advancedOrderEngine.isOperator(testOperator), false); - - advancedOrderEngine.manageOperatorPrivilege(testOperator, true); - assertEq(advancedOrderEngine.isOperator(testOperator), true); - - vm.expectRevert(AccessStatusUnchanged.selector); - advancedOrderEngine.manageOperatorPrivilege(testOperator, true); - - advancedOrderEngine.manageOperatorPrivilege(testOperator, false); - assertEq(advancedOrderEngine.isOperator(testOperator), false); - - vm.expectRevert(ZeroAddress.selector); - advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); - - vm.stopPrank(); - - vm.expectRevert(bytes("Ownable: caller is not the owner")); - advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); - } - - function testUpdateTokenWhitelist() public { - vm.startPrank(admin); - - IERC20[] memory tokens = new IERC20[](2); - bool[] memory access = new bool[](2); - - tokens[0] = IERC20(address(1)); // Assuming these addresses are valid ERC20 tokens - tokens[1] = IERC20(address(2)); - - // Initial status should be not whitelisted - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); - - // Whitelisting tokens - access[0] = true; - access[1] = true; - advancedOrderEngine.updateTokenWhitelist(tokens, access); - - // Verify the tokens are now whitelisted - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), true); - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), true); - - // Test for AccessStatusUnchanged revert - vm.expectRevert(AccessStatusUnchanged.selector); - advancedOrderEngine.updateTokenWhitelist(tokens, access); - - // Remove from whitelist - access[0] = false; - access[1] = false; - advancedOrderEngine.updateTokenWhitelist(tokens, access); - - // Verify the tokens are no longer whitelisted - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); - assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); - - // Test for ZeroAddress revert - tokens[0] = IERC20(address(0)); // Zero address token - vm.expectRevert(ZeroAddress.selector); - advancedOrderEngine.updateTokenWhitelist(tokens, access); - - // Test for ArraysLengthMismatch revert - IERC20[] memory mismatchedTokens = new IERC20[](1); - bool[] memory mismatchedAccess = new bool[](2); - vm.expectRevert(ArraysLengthMismatch.selector); - advancedOrderEngine.updateTokenWhitelist(mismatchedTokens, mismatchedAccess); - - // Test for onlyOwner modifier - vm.stopPrank(); - vm.expectRevert(bytes("Ownable: caller is not the owner")); - advancedOrderEngine.updateTokenWhitelist(tokens, access); - } - - function testChangePredicateAddress() public { - vm.startPrank(admin); - - IPredicates newPredicatesAddr = IPredicates(address(3)); // Assuming this is a valid address - - // Change to a new address - advancedOrderEngine.changePredicateAddress(newPredicatesAddr); - assertEq(address(advancedOrderEngine.predicates()), address(newPredicatesAddr)); - - // Test for ZeroAddress revert - vm.expectRevert(ZeroAddress.selector); - advancedOrderEngine.changePredicateAddress(IPredicates(address(0))); - - // Test for SamePredicateAddress revert - vm.expectRevert(SamePredicateAddress.selector); - advancedOrderEngine.changePredicateAddress(newPredicatesAddr); - - // Test for onlyOwner modifier - vm.stopPrank(); - vm.expectRevert(bytes("Ownable: caller is not the owner")); - advancedOrderEngine.changePredicateAddress(newPredicatesAddr); - } - - function testChangeFeeCollectorAddress() public { - vm.startPrank(admin); - - address newFeeCollectorAddr = address(4); // Assuming this is a valid address - - // Change to a new fee collector address - advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); - assertEq(advancedOrderEngine.feeCollector(), newFeeCollectorAddr); - - // Test for ZeroAddress revert - vm.expectRevert(ZeroAddress.selector); - advancedOrderEngine.changeFeeCollectorAddress(address(0)); - - // Test for SameFeeCollectorAddress revert - vm.expectRevert(SameFeeCollectorAddress.selector); - advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); - - // Test for onlyOwner modifier - vm.stopPrank(); - vm.expectRevert(bytes("Ownable: caller is not the owner")); - advancedOrderEngine.changeFeeCollectorAddress(newFeeCollectorAddr); - } - - function testFillOrders() public { - - OrderEngine.Order memory buyOrder = getDummyBuyOrder(); - OrderEngine.Order memory sellOrder = getDummySellOrder(); - - printOrder(buyOrder); - printOrder(sellOrder); - uint beforeUsdcMaker2 = usdc.balanceOf(maker2); - uint beforeWethMaker2 = wmatic.balanceOf(maker2); - uint beforeUsdcMaker1 = usdc.balanceOf(maker1); - uint beforeWethMaker1 = wmatic.balanceOf(maker1); - - vm.startPrank(operator); - - OrderEngine.Order[] memory orders = new OrderEngine.Order[](2); - - orders[0] = sellOrder; - orders[1] = buyOrder; - - uint256[] memory sell = new uint256[](2); - - sell[0] = sellOrder.sellTokenAmount; - sell[1] = buyOrder.sellTokenAmount; - - uint256[] memory buy = new uint256[](2); - - buy[0] = sellOrder.buyTokenAmount; - buy[1] = buyOrder.buyTokenAmount; - - bytes[] memory sigs = new bytes[](2); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(sellOrder))); - bytes memory sellOrderSignature = abi.encodePacked(r, s, v); - - console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(sellOrder))); - - (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(buyOrder))); - bytes memory buyOrderSignature = abi.encodePacked(r, s, v); - console2.logBytes32(_hashTypedDataV4(OrderEngine.hash(buyOrder))); - - sigs[0] = sellOrderSignature; - sigs[1] = buyOrderSignature; - - uint256[] memory emptyArray2 = new uint256[](0); - IERC20[] memory emptyArray1 = new IERC20[](0); - - advancedOrderEngine.fillOrders( - orders, - sell, - buy, - sigs, - '0x', - emptyArray1, - emptyArray2 - ); - - vm.stopPrank(); - - uint afterUsdcMaker2 = usdc.balanceOf(maker2); - uint afterWethMaker2 = wmatic.balanceOf(maker2); - uint afterUsdcMaker1 = usdc.balanceOf(maker1); - uint afterWethMaker1 = wmatic.balanceOf(maker1); - - // maker 1 buy order sells usdc - // maker 2 sell order sells wmatic - assertEq(beforeUsdcMaker2 + sellOrder.buyTokenAmount, afterUsdcMaker2); - assertEq(beforeWethMaker2, afterWethMaker2 + sellOrder.sellTokenAmount); - assertEq(beforeUsdcMaker1, afterUsdcMaker1 + buyOrder.sellTokenAmount); - assertEq(beforeWethMaker1 + buyOrder.buyTokenAmount , afterWethMaker1); - } - - function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { - return OrderEngine.Order( - 1, - 1700948778, - 10000000, - 4800000000000000, - 0, - maker1, - owner, - maker1, - usdc, - wmatic, - true, - 0x0000000000000000000000000000000000000000000000000000000000000000, - "", - '0x', - '0x' - ); - } - - function getDummySellOrder() private view returns(OrderEngine.Order memory) { - return OrderEngine.Order( - 2, - 1700948778, - 4800000000000000, - 10000000, - 0, - maker2, - owner, - maker2, - wmatic, - usdc, - true, - 0x0000000000000000000000000000000000000000000000000000000000000000, - '', - '0x', - '0x' - ); - } - - function printOrder(OrderEngine.Order memory order) internal view { - console2.log("order: "); - console2.log(order.nonce); - console2.log(order.validTill); - console2.log(order.sellTokenAmount); - console2.log(order.buyTokenAmount); - console2.log(order.feeAmounts); - console2.log(order.maker); - console2.log(order.operator); - console2.log(order.recipient); - console2.log(address(order.sellToken)); - console2.log(address(order.buyToken)); - console2.log(order.isPartiallyFillable); - console2.logBytes32(order.extraData); - console2.logBytes(order.predicateCalldata); - console2.logBytes(order.preInteraction); - console2.logBytes(order.postInteraction); - } - - // function getDummyBuyOrder() private view returns(OrderEngine.Order memory) { - // return OrderEngine.Order( - // 123, // Replace with the desired nonce value - // block.timestamp + 3600, // Replace with the desired validTill timestamp - // 4800000000000000, // 0.0048 weth - // 10000000, // 10 USDC - // 0, // No fee - // maker1, // Maker's Ethereum address - // operator, // Taker's Ethereum address (or null for public order) - // maker1, // Recipient's Ethereum address - // weth, // MATIC token address - // usdc, // USDC token address - // true, // Replace with true or false depending on whether the order is partially fillable - // "0x", // Replace with any extra data as a hexadecimal string - // "", // Replace with predicate calldata as a hexadecimal string - // "0x", // Replace with pre-interaction data as a hexadecimal string - // "0x" // Replace with post-interaction data as a hexadecimal string - // ); - // } - - // function getDummySellOrder() private view returns(OrderEngine.Order memory) { - // return OrderEngine.Order( - // 124, // Replace with the desired nonce value - // block.timestamp + 3600, // Replace with the desired validTill timestamp - // 10000000, // 10 USDC - // 4800000000000000, // 0.0048 weth - // 0, // No fee - // maker2, // Maker's Ethereum address - // operator, // Taker's Ethereum address (or null for public order) - // maker2, // Recipient's Ethereum address - // usdc, // USDC token address - // weth, // MATIC token address - // true, // Replace with true or false depending on whether the order is partially fillable - // "0x", // Replace with any extra data as a hexadecimal string - // "", // Replace with predicate calldata as a hexadecimal string - // "0x", // Replace with pre-interaction data as a hexadecimal string - // "0x" // Replace with post-interaction data as a hexadecimal string - // ); - // } - - function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { - return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); - } - -} - -/** Predicates selectors - * and = 0x616e6400 - * or = 0x6f720000 - */ \ No newline at end of file From 6f5f83bc57ff38f0a6a11a5162ddf9a652237bca Mon Sep 17 00:00:00 2001 From: Gul Hameed <90828739+gul-hameed@users.noreply.github.com> Date: Wed, 7 Feb 2024 13:48:05 +0500 Subject: [PATCH 113/122] Update slither.yml From 46b9f23d4a71252746b86507c8641dae8e3c8baa Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 7 Feb 2024 17:32:43 +0500 Subject: [PATCH 114/122] helper functions --- src/libraries/OrderEngine.sol | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/libraries/OrderEngine.sol b/src/libraries/OrderEngine.sol index 24c4025..33808b5 100644 --- a/src/libraries/OrderEngine.sol +++ b/src/libraries/OrderEngine.sol @@ -2,6 +2,7 @@ pragma solidity 0.8.21; import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol"; +import {ECDSA} from "openzeppelin/utils/cryptography/EIP712.sol"; library OrderEngine { struct Order { @@ -68,6 +69,73 @@ library OrderEngine { ); } + function hash(Order calldata order, bytes32 domainSeparator) public pure returns (bytes32) { + return ECDSA.toTypedDataHash(domainSeparator, hash(order)); + } + + function encodeOrder(Order calldata order) public pure returns (bytes memory) { + return ( + abi.encode( + order.nonce, + order.validTill, + order.sellTokenAmount, + order.buyTokenAmount, + order.feeAmounts, + order.maker, + order.operator, + order.recipient, + order.sellToken, + order.buyToken, + order.isPartiallyFillable, + order.extraData, + keccak256(order.predicateCalldata), + keccak256(order.preInteraction), + keccak256(order.postInteraction) + ) + ); + } + + function decodeOrder(bytes memory encodedOrder) public pure returns (Order memory) { + ( + uint256 nonce, + uint256 validTill, + uint256 sellTokenAmount, + uint256 buyTokenAmount, + uint256 feeAmounts, + address maker, + address operator, + address recipient, + address sellTokenAddress, + address buyTokenAddress, + bool isPartiallyFillable, + bytes32 extraData, + bytes32 predicateCalldata, + bytes32 preInteraction, + bytes32 postInteraction + ) = abi.decode(encodedOrder, (uint256, uint256, uint256, uint256, uint256, address, address, address, address, address, bool, bytes32, bytes32, bytes32, bytes32)); + + // Assemble the decoded data into an Order struct + Order memory order = Order({ + nonce: nonce, + validTill: validTill, + sellTokenAmount: sellTokenAmount, + buyTokenAmount: buyTokenAmount, + feeAmounts: feeAmounts, + maker: maker, + operator: operator, + recipient: recipient, + sellToken: IERC20(sellTokenAddress), + buyToken: IERC20(buyTokenAddress), + isPartiallyFillable: isPartiallyFillable, + extraData: extraData, + predicateCalldata: abi.encodePacked(predicateCalldata), + preInteraction: abi.encodePacked(preInteraction), + postInteraction: abi.encodePacked(postInteraction) + }); + + return order; + } + function isContract(Order calldata order) public view returns (bool) { return order.maker.code.length > 0; } From 666942bb4733badc7f73490fa6c41a2318fca46a Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Thu, 8 Feb 2024 12:26:11 +0500 Subject: [PATCH 115/122] update test command --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a5304ef..3c86158 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ To run code in this repository, follow these steps: 5. **Run unit tests:** ```bash - source .env - forge test -vvv --rpc-url $MAINNET_RPC_URL --match-path test/AdvancedOrderEngine.t.sol + # tests will be ran on ethereum mainnet + forge test -vvv --match-path test/AdvancedOrderEngine.t.sol ``` 6. **Run deploy and setup script** @@ -34,5 +34,4 @@ To run code in this repository, follow these steps: # deploy and verify forge script script/deployOrderEngine.s.sol --rpc-url $PEGASUS_RPC_URL --broadcast -vvv --legacy --verify --verifier blockscout --verifier-url https://pegasus.lightlink.io/api/? --watch - ``` - + ``` \ No newline at end of file From ffb7ef29416090f67a7326b06c00d71d48d6f3bb Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 13 Mar 2024 20:08:52 +0500 Subject: [PATCH 116/122] shift token type from IERC20 to address for type hashing compatibility in ethers.js --- script/deployOrderEngine.s.sol | 22 ++++---- script/transactionOrder.s.sol | 8 +-- src/AdvancedOrderEngine.sol | 20 ++++---- src/libraries/OrderEngine.sol | 13 +++-- test/AdvancedOrderEngine.t.sol | 92 +++++++++++++++++----------------- 5 files changed, 77 insertions(+), 78 deletions(-) diff --git a/script/deployOrderEngine.s.sol b/script/deployOrderEngine.s.sol index 92e1c4d..aec1f58 100644 --- a/script/deployOrderEngine.s.sol +++ b/script/deployOrderEngine.s.sol @@ -20,19 +20,19 @@ contract DeployScript is Script { advancedOrderEngine.manageOperatorPrivilege(owner, true); - IERC20[] memory tokens = new IERC20[](10); + address[] memory tokens = new address[](10); bool[] memory access = new bool[](10); - tokens[0] = IERC20(0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9); // usdt - tokens[1] = IERC20(0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4); // usdc - tokens[2] = IERC20(0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66); // dai - tokens[3] = IERC20(0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B); // wbtc - tokens[4] = IERC20(0x124ABC63F20c6e2088078bd61e2Db100Ff30836e); // arb - tokens[5] = IERC20(0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9); // op - tokens[6] = IERC20(0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c); // matic - tokens[7] = IERC20(0x8488c316e23504B8554e4BdE9651802CD45aea24); // uni - tokens[8] = IERC20(0xeDc98fc6240671dF8e7eD035CE39143320c1A174); // link - tokens[9] = IERC20(0xeEf8e3c318fb3d86489FB258847d028adC629e14); // kub + tokens[0] = 0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9; // usdt + tokens[1] = 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4; // usdc + tokens[2] = 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66; // dai + tokens[3] = 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B; // wbtc + tokens[4] = 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e; // arb + tokens[5] = 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9; // op + tokens[6] = 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c; // matic + tokens[7] = 0x8488c316e23504B8554e4BdE9651802CD45aea24; // uni + tokens[8] = 0xeDc98fc6240671dF8e7eD035CE39143320c1A174; // link + tokens[9] = 0xeEf8e3c318fb3d86489FB258847d028adC629e14; // kub // Whitelisting tokens access[0] = true; diff --git a/script/transactionOrder.s.sol b/script/transactionOrder.s.sol index c74ffa8..e141767 100644 --- a/script/transactionOrder.s.sol +++ b/script/transactionOrder.s.sol @@ -91,8 +91,8 @@ contract TransactionScript is Script { maker1, owner, maker1, - usdc, - wmatic, + address(usdc), + address(wmatic), true, 0x0000000000000000000000000000000000000000000000000000000000000000, "", @@ -111,8 +111,8 @@ contract TransactionScript is Script { maker2, owner, maker2, - wmatic, - usdc, + address(wmatic), + address(usdc), true, 0x0000000000000000000000000000000000000000000000000000000000000000, '', diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index 839b9e8..d3f915b 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -46,7 +46,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { address public feeCollector; // Stores the whitelist status of each token. - mapping(IERC20 => bool) public isWhitelistedToken; + mapping(address => bool) public isWhitelistedToken; // Tracks the amount of tokens sold for each order using the order hash. mapping(bytes32 => uint256) public filledSellAmount; @@ -150,7 +150,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { * @param access Array of boolean values indicating whether to whitelist (true) a token or remove from whitelist (false). */ function updateTokenWhitelist( - IERC20[] calldata tokens, + address[] calldata tokens, bool[] calldata access ) external onlyOwner { /** @@ -170,7 +170,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { for (uint256 i; i < tokens.length; ) { // Revert if the token address is a zero address. - if (address(tokens[i]) == address(0)) { + if (tokens[i] == address(0)) { revert ZeroAddress(); } @@ -181,7 +181,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { isWhitelistedToken[tokens[i]] = access[i]; - emit WhitelistStatusUpdated(address(tokens[i]), access[i]); + emit WhitelistStatusUpdated(tokens[i], access[i]); unchecked { ++i; @@ -494,10 +494,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { ); // Receive sell tokens from the maker. - _receiveAsset(order.sellToken, executedSellAmount, order.maker); + _receiveAsset(IERC20(order.sellToken), executedSellAmount, order.maker); // Receive fees from the maker to the fee collector address. - if(executedFeeAmount != 0) { _receiveAsset(order.sellToken, executedFeeAmount, feeCollector); } + if(executedFeeAmount != 0) { _receiveAsset(IERC20(order.sellToken), executedFeeAmount, feeCollector); } } function _validateOrder( @@ -539,8 +539,8 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { // Revert if any address in the order is zero. if ( order.maker == address(0) || - address(order.buyToken) == address(0) || - address(order.sellToken) == address(0) || + order.buyToken == address(0) || + order.sellToken == address(0) || order.recipient == address(0) ) { revert ZeroAddress(); @@ -713,7 +713,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { executedSellAmount = executedSellAmount / ONE; // Transfer the buy tokens to the recipient. - _sendAsset(order.buyToken, executedBuyAmount, order.recipient); + _sendAsset(IERC20(order.buyToken), executedBuyAmount, order.recipient); // Local copy to save gas. uint256 sellTokensFilled = filledSellAmount[orderHash]; @@ -728,7 +728,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { ); // Emit an event to log the order fill. - emit OrderFill(orderHash, sellTokensFilled, executedSellAmount, executedBuyAmount, address(order.sellToken), address(order.buyToken), order.nonce, order.feeAmounts); + emit OrderFill(orderHash, sellTokensFilled, executedSellAmount, executedBuyAmount, order.sellToken, order.buyToken, order.nonce, order.feeAmounts); } function _executePostInteraction( diff --git a/src/libraries/OrderEngine.sol b/src/libraries/OrderEngine.sol index 33808b5..00e43f3 100644 --- a/src/libraries/OrderEngine.sol +++ b/src/libraries/OrderEngine.sol @@ -1,7 +1,6 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.21; -import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol"; import {ECDSA} from "openzeppelin/utils/cryptography/EIP712.sol"; library OrderEngine { @@ -14,8 +13,8 @@ library OrderEngine { address maker; address operator; // Null on public orders address recipient; - IERC20 sellToken; - IERC20 buyToken; + address sellToken; + address buyToken; bool isPartiallyFillable; bytes32 extraData; bytes predicateCalldata; @@ -34,8 +33,8 @@ library OrderEngine { "address maker," "address operator," "address recipient," - "IERC20 sellToken," - "IERC20 buyToken," + "address sellToken," + "address buyToken," "bool isPartiallyFillable," "bytes32 extraData," "bytes predicateCalldata," @@ -124,8 +123,8 @@ library OrderEngine { maker: maker, operator: operator, recipient: recipient, - sellToken: IERC20(sellTokenAddress), - buyToken: IERC20(buyTokenAddress), + sellToken: sellTokenAddress, + buyToken: buyTokenAddress, isPartiallyFillable: isPartiallyFillable, extraData: extraData, predicateCalldata: abi.encodePacked(predicateCalldata), diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 24fb1ed..88821d4 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -57,12 +57,12 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.manageOperatorPrivilege(operator, true); - IERC20[] memory tokens = new IERC20[](3); + address[] memory tokens = new address[](3); bool[] memory access = new bool[](3); - tokens[0] = usdc; // Assuming these addresses are valid ERC20 tokens - tokens[1] = weth; - tokens[2] = wmatic; + tokens[0] = address(usdc); // Assuming these addresses are valid ERC20 tokens + tokens[1] = address(weth); + tokens[2] = address(wmatic); // Whitelisting tokens access[0] = true; @@ -294,11 +294,11 @@ contract AdvancedOrderEngineTest is Test { function testUpdateTokenWhitelist() public { vm.startPrank(admin); - IERC20[] memory tokens = new IERC20[](2); + address[] memory tokens = new address[](2); bool[] memory access = new bool[](2); - tokens[0] = IERC20(address(1)); // Assuming these addresses are valid ERC20 tokens - tokens[1] = IERC20(address(2)); + tokens[0] = address(1); // Assuming these addresses are valid ERC20 tokens + tokens[1] = address(2); // Initial status should be not whitelisted assertEq(advancedOrderEngine.isWhitelistedToken(tokens[0]), false); @@ -327,12 +327,12 @@ contract AdvancedOrderEngineTest is Test { assertEq(advancedOrderEngine.isWhitelistedToken(tokens[1]), false); // Test for ZeroAddress revert - tokens[0] = IERC20(address(0)); // Zero address token + tokens[0] = address(0); // Zero address token vm.expectRevert(ZeroAddress.selector); advancedOrderEngine.updateTokenWhitelist(tokens, access); // Test for ArraysLengthMismatch revert - IERC20[] memory mismatchedTokens = new IERC20[](1); + address[] memory mismatchedTokens = new address[](1); bool[] memory mismatchedAccess = new bool[](2); vm.expectRevert(ArraysLengthMismatch.selector); advancedOrderEngine.updateTokenWhitelist(mismatchedTokens, mismatchedAccess); @@ -649,8 +649,8 @@ contract AdvancedOrderEngineTest is Test { // not white listed token sellOrder.sellTokenAmount = prevSellAmount; - IERC20 prevToken = sellOrder.sellToken; - sellOrder.sellToken = wbtc; + address prevToken = sellOrder.sellToken; + sellOrder.sellToken = address(wbtc); orders[0] = sellOrder; vm.expectRevert(TokenNotWhitelisted.selector); @@ -666,7 +666,7 @@ contract AdvancedOrderEngineTest is Test { // not zero address token sellOrder.sellTokenAmount = prevSellAmount; - sellOrder.sellToken = IERC20(address(0)); + sellOrder.sellToken = address(0); orders[0] = sellOrder; vm.expectRevert(TokenNotWhitelisted.selector); @@ -2005,8 +2005,8 @@ contract AdvancedOrderEngineTest is Test { operator, // Maker's address operator, // Taker's Ethereum address (or null for public order) operator, // Recipient's Ethereum address - usdc, // USDC token address - sell token - usdc, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(usdc), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2325,8 +2325,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - weth, // weth token address - sell token - usdc, // USDC token address - buy token + address(weth), // weth token address - sell token + address(usdc), // USDC token address - buy token true, // is partially fillable "0x", // facilitator call data "", // predicate calldata @@ -2514,8 +2514,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - weth, // MATIC token address - sell token - usdc, // USDC token address - buy token + address(weth), // MATIC token address - sell token + address(usdc), // USDC token address - buy token true, // is partially fillable "0x", // facilitator call data "", // predicate calldata @@ -2534,8 +2534,8 @@ contract AdvancedOrderEngineTest is Test { maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token true, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2612,8 +2612,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2630,8 +2630,8 @@ contract AdvancedOrderEngineTest is Test { maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2648,8 +2648,8 @@ contract AdvancedOrderEngineTest is Test { maker3, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker3, // Recipient's Ethereum address - weth, // MATIC token address - sell token - usdc, // USDC token address - buy token + address(weth), // MATIC token address - sell token + address(usdc), // USDC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2717,8 +2717,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2735,8 +2735,8 @@ contract AdvancedOrderEngineTest is Test { maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token true, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2753,8 +2753,8 @@ contract AdvancedOrderEngineTest is Test { maker3, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker3, // Recipient's Ethereum address - weth, // MATIC token address - sell token - usdc, // USDC token address - buy token + address(weth), // MATIC token address - sell token + address(usdc), // USDC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2830,8 +2830,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2908,8 +2908,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2926,8 +2926,8 @@ contract AdvancedOrderEngineTest is Test { maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - weth, // MATIC token address - sell token - wmatic, // USDC token address - buy token + address(weth), // MATIC token address - sell token + address(wmatic), // USDC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -2944,8 +2944,8 @@ contract AdvancedOrderEngineTest is Test { maker3, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker3, // Recipient's Ethereum address - wmatic, // MATIC token address - sell token - usdc, // USDC token address - buy token + address(wmatic), // MATIC token address - sell token + address(usdc), // USDC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -3026,8 +3026,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - weth, // MATIC token address - sell token - usdc, // USDC token address - buy token + address(weth), // MATIC token address - sell token + address(usdc), // USDC token address - buy token true, // is partially fillable "0x", // facilitator call data "", // predicate calldata @@ -3059,8 +3059,8 @@ contract AdvancedOrderEngineTest is Test { maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token true, // is partially fillable "0x", // facilitator calldata "", // predicate calldata @@ -3112,8 +3112,8 @@ contract AdvancedOrderEngineTest is Test { maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address - usdc, // USDC token address - sell token - weth, // MATIC token address - buy token + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token false, // is partially fillable "0x", // facilitator calldata "", // predicate calldata From fbc8dfb59c643c95b3056cb2d7f485fe879656dd Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 13 Mar 2024 20:20:55 +0500 Subject: [PATCH 117/122] update deploy script --- script/deployOrderEngine.s.sol | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/script/deployOrderEngine.s.sol b/script/deployOrderEngine.s.sol index aec1f58..81d90d0 100644 --- a/script/deployOrderEngine.s.sol +++ b/script/deployOrderEngine.s.sol @@ -20,8 +20,8 @@ contract DeployScript is Script { advancedOrderEngine.manageOperatorPrivilege(owner, true); - address[] memory tokens = new address[](10); - bool[] memory access = new bool[](10); + address[] memory tokens = new address[](14); + bool[] memory access = new bool[](14); tokens[0] = 0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9; // usdt tokens[1] = 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4; // usdc @@ -33,6 +33,10 @@ contract DeployScript is Script { tokens[7] = 0x8488c316e23504B8554e4BdE9651802CD45aea24; // uni tokens[8] = 0xeDc98fc6240671dF8e7eD035CE39143320c1A174; // link tokens[9] = 0xeEf8e3c318fb3d86489FB258847d028adC629e14; // kub + tokens[10] = 0x54390D6FD8C4d4e77c13Ac1E051C9A06eC19112f; // eth-lo + tokens[11] = 0xA4CBbd0f503720a0cA3C950D647A8c23FBE9702B; // usdt-lo + tokens[12] = 0xab16485D5fC7140b01440C4a1dE5007e9321DB5F; // bnb-lo + tokens[13] = 0x46624eA6a260714df1E1EF4c13575Bc7AAdf0f0e; // linl-lo // Whitelisting tokens access[0] = true; @@ -45,6 +49,10 @@ contract DeployScript is Script { access[7] = true; access[8] = true; access[9] = true; + access[10] = true; + access[11] = true; + access[12] = true; + access[13] = true; advancedOrderEngine.updateTokenWhitelist(tokens, access); From 96d70ed1797b613fa7a2d7082cd0592d5c5ba53a Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 13 Mar 2024 20:57:20 +0500 Subject: [PATCH 118/122] new deploy --- .../1891/run-1710343319.json | 120 +++++ .../1891/run-1710343326.json | 449 ++++++++++++++++++ .../1891/run-1710343345.json | 449 ++++++++++++++++++ .../1891/run-latest.json | 294 +++++++----- 4 files changed, 1193 insertions(+), 119 deletions(-) create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1710343319.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1710343326.json create mode 100644 broadcast/deployOrderEngine.s.sol/1891/run-1710343345.json diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1710343319.json b/broadcast/deployOrderEngine.s.sol/1891/run-1710343319.json new file mode 100644 index 0000000..eac7b14 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1710343319.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x20fe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x20ff" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": null, + "arguments": [ + "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c6343000815003300000000000000000000000074ea4485aac8a7b26bf335bb8ed2748e9c0eaafa0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x2100" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2101" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14, 0x54390D6FD8C4d4e77c13Ac1E051C9A06eC19112f, 0xA4CBbd0f503720a0cA3C950D647A8c23FBE9702B, 0xab16485D5fC7140b01440C4a1dE5007e9321DB5F, 0x46624eA6a260714df1E1EF4c13575Bc7AAdf0f0e]", + "[true, true, true, true, true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x85541", + "value": "0x0", + "data": "0x6fda538f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e1400000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2102" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xa7fd6eb9cc35c210107d1a918e35ac82bc59961c" + ], + "pending": [ + "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232" + ], + "returns": {}, + "timestamp": 1710343319, + "chain": 1891, + "multi": false, + "commit": "fbc8dfb" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1710343326.json b/broadcast/deployOrderEngine.s.sol/1891/run-1710343326.json new file mode 100644 index 0000000..8ff471f --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1710343326.json @@ -0,0 +1,449 @@ +{ + "transactions": [ + { + "hash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x20fe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x20ff" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": null, + "arguments": [ + "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c6343000815003300000000000000000000000074ea4485aac8a7b26bf335bb8ed2748e9c0eaafa0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x2100" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2101" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14, 0x54390D6FD8C4d4e77c13Ac1E051C9A06eC19112f, 0xA4CBbd0f503720a0cA3C950D647A8c23FBE9702B, 0xab16485D5fC7140b01440C4a1dE5007e9321DB5F, 0x46624eA6a260714df1E1EF4c13575Bc7AAdf0f0e]", + "[true, true, true, true, true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x85541", + "value": "0x0", + "data": "0x6fda538f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e1400000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2102" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "transactionIndex": "0x0", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", + "logs": [], + "status": "0x1", + "root": "0x7b2d1e6d6956afc3352a3cf385d0a5ccc29033b5a67753aae694bcce792fbf25", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "transactionIndex": "0x1", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "logs": [], + "status": "0x1", + "root": "0x4b55fbe494e060b272557e969ccaca8bd4f388c8db16ff3ba685d8c919c21af1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x27183a", + "gasUsed": "0x27183a", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xbec266d3d1354fc5fa1952f26471c1644bd2b945bbdda31708f7ddf9f0655872", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000004000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionIndex": "0x3", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x86db390e70e6496624f67ea3219f32e202ae18d0439cb94db008769f17bd0753", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "cumulativeGasUsed": "0x5b2a3", + "gasUsed": "0x5b2a3", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xe", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x10", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "root": "0xd8862b265a22fc3330dd23af04316ea46049e36a36cffac3481727e4d2b9dcb1", + "logsBloom": "0x00000002120000000002000000000000000000100000000400000000000000000000000000001000000008000000000000000020000000000008000000000000000000000000000000110080000010000000000000000000000000000800000042000020000001000010020004000000080000000000000000000000000200002001000800000000020002000000100000000000000000000000000000040000000000000080000020000000000000000000802000080000000800000000400000008000000000400004040002000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xa7fd6eb9cc35c210107d1a918e35ac82bc59961c" + ], + "pending": [], + "returns": {}, + "timestamp": 1710343326, + "chain": 1891, + "multi": false, + "commit": "fbc8dfb" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-1710343345.json b/broadcast/deployOrderEngine.s.sol/1891/run-1710343345.json new file mode 100644 index 0000000..a33c37f --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1891/run-1710343345.json @@ -0,0 +1,449 @@ +{ + "transactions": [ + { + "hash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x20fe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x20ff" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": null, + "arguments": [ + "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c6343000815003300000000000000000000000074ea4485aac8a7b26bf335bb8ed2748e9c0eaafa0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x2100" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2101" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14, 0x54390D6FD8C4d4e77c13Ac1E051C9A06eC19112f, 0xA4CBbd0f503720a0cA3C950D647A8c23FBE9702B, 0xab16485D5fC7140b01440C4a1dE5007e9321DB5F, 0x46624eA6a260714df1E1EF4c13575Bc7AAdf0f0e]", + "[true, true, true, true, true, true, true, true, true, true, true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x85541", + "value": "0x0", + "data": "0x6fda538f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e1400000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2102" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", + "transactionIndex": "0x0", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", + "logs": [], + "status": "0x1", + "root": "0x7b2d1e6d6956afc3352a3cf385d0a5ccc29033b5a67753aae694bcce792fbf25", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", + "transactionIndex": "0x1", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", + "logs": [], + "status": "0x1", + "root": "0x4b55fbe494e060b272557e969ccaca8bd4f388c8db16ff3ba685d8c919c21af1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": null, + "cumulativeGasUsed": "0x27183a", + "gasUsed": "0x27183a", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xbec266d3d1354fc5fa1952f26471c1644bd2b945bbdda31708f7ddf9f0655872", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000004000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionIndex": "0x3", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x86db390e70e6496624f67ea3219f32e202ae18d0439cb94db008769f17bd0753", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "cumulativeGasUsed": "0x5b2a3", + "gasUsed": "0x5b2a3", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x8", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x9", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xb", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xc", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xd", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xe", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x10", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "root": "0xd8862b265a22fc3330dd23af04316ea46049e36a36cffac3481727e4d2b9dcb1", + "logsBloom": "0x00000002120000000002000000000000000000100000000400000000000000000000000000001000000008000000000000000020000000000008000000000000000000000000000000110080000010000000000000000000000000000800000042000020000001000010020004000000080000000000000000000000000200002001000800000000020002000000100000000000000000000000000000040000000000000080000020000000000000000000802000080000000800000000400000008000000000400004040002000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0xa7fd6eb9cc35c210107d1a918e35ac82bc59961c" + ], + "pending": [], + "returns": {}, + "timestamp": 1710343345, + "chain": 1891, + "multi": false, + "commit": "fbc8dfb" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json index 19703f3..a33c37f 100644 --- a/broadcast/deployOrderEngine.s.sol/1891/run-latest.json +++ b/broadcast/deployOrderEngine.s.sol/1891/run-latest.json @@ -1,27 +1,27 @@ { "transactions": [ { - "hash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "hash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", "transactionType": "CREATE", "contractName": "OrderEngine", - "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x59318", - "data": "0x6080806040523461001a576104219081610020823930815050f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816395de97cc1461026557508063b91611f41461020e5763c3c1f2ec1461004257600080fd5b61004b36610283565b61005760a082016102d9565b9061006460c082016102d9565b9161007160e083016102d9565b9161007f61010082016102d9565b9061008d61012082016102d9565b90610140810135801515810361020a57610100610160936020986100bf6100b86101808701876102fa565b369161034b565b8a8151910120966100d76100b86101a08801886102fa565b8b8151910120986100ef6100b86101c08901896102fa565b8c81519101209a7f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad6040519d8e01528c604089359101528c606060208a01359101528c608060408a01359101528c60a060608a01359101528c60c060808a01359101528c73ffffffffffffffffffffffffffffffffffffffff968780968180961660e085015216910152166101208c0152166101408a01521683880152151561018087015201356101a08501526101c08401526101e08301526102009081830152815261022081019080821067ffffffffffffffff8311176101dd5760209250816040528281519101208152f35b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8780fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102625760206040517f405c8d592eac87d960001fca48881b9679b0f000df8f68c6cef96559a6738fad8152f35b80fd5b60209061027c60a061027636610283565b016102d9565b3b15158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126102d4576004359167ffffffffffffffff83116102d457826101e0920301126102d45760040190565b600080fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036102d45790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102d4570180359067ffffffffffffffff82116102d4576020019181360383136102d457565b92919267ffffffffffffffff918281116103bc5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176103bc576040528294818452818301116102d4578281602093846000960137010152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220fcf2e71d4fed2f596a1a465e75f3db24ccadee7f0fcc77fdb4822408a1d6c59964736f6c63430008150033", - "nonce": "0x153d" + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x20fe" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "hash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", "transactionType": "CREATE", "contractName": "Predicates", - "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", "function": null, "arguments": null, "transaction": { @@ -30,37 +30,37 @@ "gas": "0x5dd9f", "value": "0x0", "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", - "nonce": "0x153e" + "nonce": "0x20ff" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "hash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", "transactionType": "CREATE", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "function": null, "arguments": [ - "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8" ], "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "gas": "0x32a99e", + "gas": "0x32cee2", "value": "0x0", - "data": "0x61014034620002a6576001600160401b0362002e71601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612ba99283620002c8843960805183611e28015260a05183611f23015260c05183611df9015260e05183611e7701525182611e9d01525181611e540152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bda57806315169dec14611b9a5780632024cbc114611aa75780633644e51514611a845780633c3efab414611a5d5780635f2a6451146119a257806369328dec146119095780636d70f7ae146118ca5780636fda538f14611788578063715018a61461170c57806379ba5097146116065780638da5cb5b146115df5780638efede3d1461150d57806390d6e14c1461143b578063ab37f486146113fc578063c2ee3a08146113d9578063c415b95c146113b2578063cf0f969d14611386578063e30c39781461135f578063f2fde38b146112dd5763fe61e35c1461010457600080fd5b346104e45760e06003193601126104e45760043567ffffffffffffffff81116104e457610135903690600401611c8a565b610120526101605260243567ffffffffffffffff81116104e45761015d903690600401611c8a565b60e0526101405260443567ffffffffffffffff81116104e457610184903690600401611c8a565b60c0526101005260643567ffffffffffffffff81116104e4576101ab903690600401611c8a565b9060843567ffffffffffffffff81116104e4576101cc903690600401611c25565b9260a43567ffffffffffffffff81116104e4576101ed903690600401611c8a565b92909467ffffffffffffffff60c435116104e4576102103660c435600401611c8a565b93909533600052600760205260ff60406000205416156112ad5760026000541461124f57600260005561012051156112255760e0516101205114801590611217575b801561120b575b6108b65760005b6101205181106108e05750505060148110156104e9575b50505050505060005b610120518110610291576001600055005b6102a2816101205161016051611d5e565b906102b38160e05161014051611d2d565b356102c48260c05161010051611d2d565b356102ce846123ec565b670de0b6b3a7640000946103476102e86101208301611d3d565b6102f460e08401611d3d565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288860460448301526044825261034282611f5d565b6128f5565b816000526006602052604060002054956101c0820160146103688285611d9e565b905010156103f8575b5091600196827f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef946001600160a01b036103b061010060c09701611d3d565b1696816001600160a01b036103c86101208601611d3d565b16996080956040519788526020880152046040860152046060840152803582840152013560a0820152a301610280565b966104166104106001600160a01b0395939985611d9e565b90612b11565b91610423819792976127ab565b169061043160a08601611d3d565b95823b156104e457848b97928992868c8b966040519c8d9889987fb6e1471a000000000000000000000000000000000000000000000000000000008a5204920490600488019661048097612774565b03815a6000948591f19283156104d8576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956104c9575b50929450925096610371565b6104d290611f49565b386104bd565b6040513d6000823e3d90fd5b600080fd5b6104f291612b11565b90949160805293926105056080516127ab565b8281036108b65760005b81811061083d57506001600160a01b03608051163b156104e45760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261012051905260e460a0510160e46101205160051b60a051010190610160519060005b610120518110610695575050506105d46105b860209260031960a051820301602460a051015260e05161014051612849565b60031960a051820301604460a051015260c05161010051612849565b60031960a051820301606460a051015282815201959060005b81811061066d57505050600094610634926106179260031960a051840301608460a0510152612849565b60031960a05182030160a460a051015260a0519360a05193611fc7565b0360a051836001600160a01b03608051165af180156104d85761065d575b388080808080610277565b61066860a051611f49565b610652565b9091966020806001926001600160a01b036106878c611c69565b1681520198019291016105ed565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a051820301835283357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21610160513603018112156104e457602061083260019382936101605101906108136107f76101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b0361074a828801611c69565b16908501526001600160a01b0361076360c08701611c69565b1660c08501526001600160a01b0361077d60e08701611c69565b1660e08501526101006001600160a01b03610799828801611c69565b16908501526101206001600160a01b036107b4828801611c69565b16908501526101406107c7818701611c7d565b151590850152610160808601359085015261018090806107e9838801886127f9565b929093870152850191611fc7565b6101a0610806818601866127f9565b9185840390860152611fc7565b916108246101c091828101906127f9565b929091818503910152611fc7565b950193019101610586565b806108b0610856610851600194868c611d2d565b611d3d565b610861838888611d2d565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261034282611f5d565b0161050f565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f1816101205161016051611d5e565b906109028160e05161014051611d2d565b35916109148260c05161010051611d2d565b3592858310156111dc5761092d8360051b860186611d9e565b90918592819661093c866123ec565b92602087013542116111ab5760608701351590811561119e575b8115611195575b50801561118d575b611163576001600160a01b0361097e6101208801611d3d565b16600052600560205260ff6040600020541615801561113a575b611110576109a96101008701611d3d565b6001600160a01b03806109bf6101208a01611d3d565b169116146110e6576001600160a01b036109db60a08801611d3d565b161580156110c9575b80156110ac575b8015611090575b6110665760c086016001600160a01b03610a0b82611d3d565b1615159081611049575b5061101f57826000526006602052604060002054604087013514610ff557610a406101408701611d51565b15610fb55750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f5c5784610a70916124db565b670de0b6b3a76400006040870135818102918183041490151715610f5c57610a9d906060880135906124db565b10610f8b578160005260066020526040600020805490670de0b6b3a764000089048201809211610f5c575560808501358015670de0b6b3a76400008904808302839004141715610f5c57610b0290604087013590670de0b6b3a76400008a04026124db565b826000526006602052604086013560406000205411610f3257670de0b6b3a7640000809195049704925b610b6e6020610b3b3689612160565b604051809381927f95de97cc000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d857600091610ef8575b5015610e9057610bfc916020916001600160a01b03610bb760a08a01611d3d565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fc7565b03915afa9081156104d857600091610e15575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610deb575b6101808401610c698186611d9e565b9050610da3575b506101a084016014610c828287611d9e565b90501015610ced575b505060019450610cb590610ca26101008501611d3d565b90610caf60a08601611d3d565b91612886565b80610cc3575b505001610260565b610cd3610100610ce69301611d3d565b906001600160a01b036004541691612886565b3880610cbb565b610d026104106001600160a01b039287611d9e565b929091610d0e816127ab565b1690610d1c60a08801611d3d565b9084600052600660205260406000205494833b156104e457610d7587956000979388946040519e8f998a9889977f1ad047d200000000000000000000000000000000000000000000000000000000895260048901612774565b03925af19081156104d857600195610cb592610d94575b819250610c8b565b610d9d90611f49565b38610d8c565b610db0610db69186611d9e565b90612006565b15610dc15738610c70565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610e88575b81610e3060209383611f79565b810103126104e457517fffffffff00000000000000000000000000000000000000000000000000000000811681036104e4577fffffffff00000000000000000000000000000000000000000000000000000000610c0f565b3d9150610e23565b610ea2610eb092610ea892369161210b565b836126ad565b919091612514565b6001600160a01b0380610ec560a08801611d3d565b1691160315610c5a5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f2a575b81610f1360209383611f79565b810103126104e457610f2490611fba565b38610b96565b3d9150610f06565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610f8b57604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2c565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361105d3392611d3d565b16141538610a15565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110a560e08801611d3d565b16156109f2565b506001600160a01b036110c26101008801611d3d565b16156109eb565b506001600160a01b036110df6101208801611d3d565b16156109e4565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036111506101008801611d3d565b1660005260ff6040600020541615610998565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610965565b9050153861095d565b6040880135159150610956565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c0511415610259565b5060c05160e0511415610252565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104e45760206003193601126104e4576112f6611c53565b6112fe611cbb565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104e45760006003193601126104e45760206001600160a01b0360025416604051908152f35b346104e45760206003193601126104e45760043560005260066020526020604060002054604051908152f35b346104e45760006003193601126104e45760206001600160a01b0360045416604051908152f35b346104e45760006003193601126104e4576020604051670de0b6b3a76400008152f35b346104e45760206003193601126104e4576001600160a01b0361141d611c53565b166000526005602052602060ff604060002054166040519015158152f35b346104e45760206003193601126104e4576004356001600160a01b038082168092036104e457611469611cbb565b811561106657600354908116908282146114e357604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e457611526611c53565b61152e611cbb565b6001600160a01b0390818116918215611066576004549081168381146115b557604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360015416604051908152f35b346104e45760006003193601126104e4576002546001600160a01b033381831603611688577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104e45760006003193601126104e457611725611cbb565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104e45760406003193601126104e45767ffffffffffffffff6004358181116104e4576117ba903690600401611c8a565b916024359081116104e4576117d3903690600401611c8a565b926117dc611cbb565b8015611225578381036108b65760005b8181106117f557005b6001600160a01b03908161180d610851838689611d2d565b1615611066576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761184a611845848a89611d2d565b611d51565b918061185a61085186898c611d2d565b1660005261189d6020936005855260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118ab61085185888b611d2d565b16916118bb611845858b8a611d2d565b6040519015158152a2016117ec565b346104e45760206003193601126104e4576001600160a01b036118eb611c53565b166000526007602052602060ff604060002054166040519015158152f35b346104e45760606003193601126104e457611922611c53565b604435906001600160a01b03908183168093036104e457611941611cbb565b16908115801561199a575b6110665761199891604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261034282611f5d565b005b50801561194c565b346104e4576119b036611bf2565b6119bc60a08201611d3d565b6001600160a01b0333911603611a33576119d5816123ec565b8060005260066020526040806000205492013591828114610ff55760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104e45760006003193601126104e45760206001600160a01b0360035416604051908152f35b346104e45760006003193601126104e4576020611a9f611def565b604051908152f35b346104e45760406003193601126104e457611ac0611c53565b60243590811515908183036104e4576001600160a01b0390611ae0611cbb565b16918215611066578260005260076020528160ff60406000205416151514611b70577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b67602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104e45760206003193601126104e45760043567ffffffffffffffff81116104e457611bd0610db06020923690600401611c25565b6040519015158152f35b346104e4576020611a9f611bed36611bf2565b6123ec565b600319906020828201126104e4576004359167ffffffffffffffff83116104e457826101e0920301126104e45760040190565b9181601f840112156104e45782359167ffffffffffffffff83116104e457602083818601950101116104e457565b600435906001600160a01b03821682036104e457565b35906001600160a01b03821682036104e457565b359081151582036104e457565b9181601f840112156104e45782359167ffffffffffffffff83116104e4576020808501948460051b0101116104e457565b6001600160a01b03600154163303611ccf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111dc5760051b0190565b356001600160a01b03811681036104e45790565b3580151581036104e45790565b91908110156111dc5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104e4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104e4570180359067ffffffffffffffff82116104e4576020019181360383136104e457565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f20575b15611e4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611ef15760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e21565b67ffffffffffffffff8111611ef157604052565b6080810190811067ffffffffffffffff821117611ef157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611ef157604052565b519081151582036104e457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b9061205e906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fc7565b03915afa9081156120c6576000928392612086575b50508161207e575090565b600191501490565b9080939250813d83116120bf575b61209e8183611f79565b810103126120bc575060206120b282611fba565b9101513880612073565b80fd5b503d612094565b82513d6000823e3d90fd5b67ffffffffffffffff8111611ef157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612117826120d1565b916121256040519384611f79565b8294818452818301116104e4578281602093846000960137010152565b9080601f830112156104e45781602061215d9335910161210b565b90565b9190916101e09081818503126104e4576040519182019067ffffffffffffffff9183811083821117611ef157604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121c960a08301611c69565b60a08501526121da60c08301611c69565b60c08501526121eb60e08301611c69565b60e08501526101006121fe818401611c69565b90850152610120612210818401611c69565b90850152610140612222818401611c7d565b908501526101608083013590850152610180808301358481116104e4578261224b918501612142565b908501526101a0808301358481116104e45782612269918501612142565b908501526101c092838301359081116104e4576122869201612142565b910152565b919082519283825260005b8481106122d55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612296565b9061215d916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123a16101a093828585015261020084019061228b565b928401516123dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c09286868303018487015261228b565b940151928285030191015261228b565b60206123fc61242f923690612160565b604051809381927fc3c1f2ec000000000000000000000000000000000000000000000000000000008352600483016122e9565b0381738add30f1fe6535b0b6fcc4a7b495f000e1c4c5d45af49081156104d8576000916124aa575b50612460611def565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124a481611f5d565b51902090565b906020823d82116124d3575b816124c360209383611f79565b810103126120bc57505138612457565b3d91506124b6565b81156124e5570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600581101561267e57806125255750565b6001810361258b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036125f15760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146125fa57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126db576126d7916020820151906060604084015193015160001a906126e5565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116127685791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561275b5781516001600160a01b03811615612755579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361215d98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fc7565b6001600160a01b03163081149081156127f0575b506127c657565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127bf565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104e457016020813591019167ffffffffffffffff82116104e45781360383136104e457565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104e45760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611ef1576128f3926040526128f5565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611ef157612986916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a3d573d9161296b836120d1565b926129796040519485611f79565b83523d868885013e612a41565b90815180612995575b50505050565b828491810103126120bc5750816129ac9101611fba565b156129b95780808061298f565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612abc5750815115612a55575090565b3b15612a5e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612acf5750805190602001fd5b612b0d906040519182917f08c379a000000000000000000000000000000000000000000000000000000000835260206004840152602483019061228b565b0390fd5b9160148210612b49577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122036b990b4d257fd6bd088a253c845303610cb8714d9fbcbe06b45ffce6d4443e564736f6c634300081500330000000000000000000000009680491850b5162c69786fde9bd8bcd12d81b3510000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "nonce": "0x153f" + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b038173a7fd6eb9cc35c210107d1a918e35ac82bc59961c5af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c6343000815003300000000000000000000000074ea4485aac8a7b26bf335bb8ed2748e9c0eaafa0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", + "nonce": "0x2100" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "hash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "function": "manageOperatorPrivilege(address,bool)", "arguments": [ "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", @@ -69,33 +69,33 @@ "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xd84815be6330a61524893920bdff175f63a1104f", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", "gas": "0x111af", "value": "0x0", "data": "0x2024cbc10000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b80000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x1540" + "nonce": "0x2101" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "hash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionType": "CALL", "contractName": "AdvancedOrderEngine", - "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "function": "updateTokenWhitelist(address[],bool[])", "arguments": [ - "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14]", - "[true, true, true, true, true, true, true, true, true, true]" + "[0x057e8e2bC40ECff87e6F9b28750D5E7AC004Eab9, 0x3cf2c147d43C98Fa96d267572e3FD44A4D3940d4, 0x4B6b9B31c72836806B0B1104Cf1CdAB8A0E3BD66, 0x9Ee1Aa18F3FEB435f811d6AE2F71B7D2a4Adce0B, 0x124ABC63F20c6e2088078bd61e2Db100Ff30836e, 0xecf6Bdde77C77863Ae842b145f9ab296E5eAcAF9, 0x8bA5b0452b0a4da211579AA2e105c3da7C0Ad36c, 0x8488c316e23504B8554e4BdE9651802CD45aea24, 0xeDc98fc6240671dF8e7eD035CE39143320c1A174, 0xeEf8e3c318fb3d86489FB258847d028adC629e14, 0x54390D6FD8C4d4e77c13Ac1E051C9A06eC19112f, 0xA4CBbd0f503720a0cA3C950D647A8c23FBE9702B, 0xab16485D5fC7140b01440C4a1dE5007e9321DB5F, 0x46624eA6a260714df1E1EF4c13575Bc7AAdf0f0e]", + "[true, true, true, true, true, true, true, true, true, true, true, true, true, true]" ], "transaction": { "type": "0x00", "from": "0x5adaf849e40b5b1303507299d3d06a4663d3a8b8", - "to": "0xd84815be6330a61524893920bdff175f63a1104f", - "gas": "0x5c4d5", + "to": "0xf0ef43a073ee30239a1ecc84e1dadc8895dbc1c2", + "gas": "0x85541", "value": "0x0", - "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x1541" + "data": "0x6fda538f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab90000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d40000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd660000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf90000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e1400000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x2102" }, "additionalContracts": [], "isFixedGasLimit": false @@ -103,291 +103,347 @@ ], "receipts": [ { - "transactionHash": "0x3045fb09ab63eeba2d9fe20e2dd85ba41e37cc7c6bed790d7623c1011f041f6a", + "transactionHash": "0x47204932eb7cfa411e90b3f2e9ac0186815b87a053f2f1e71487f71b14bcffab", "transactionIndex": "0x0", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x44a0a", - "gasUsed": "0x44a0a", - "contractAddress": "0x8adD30F1fE6535B0B6FCc4A7B495f000E1C4C5D4", + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0xA7FD6EB9cc35c210107d1A918e35ac82BC59961c", "logs": [], "status": "0x1", - "root": "0x217dea2c51f905de5f26ecc121fe3c7648b606aaef7fc221790d0a7fbcffed17", + "root": "0x7b2d1e6d6956afc3352a3cf385d0a5ccc29033b5a67753aae694bcce792fbf25", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xb92528aaf622beacc6317348432f6f803a7fde4add084c6c4ee0b4caeba853fd", + "transactionHash": "0x0a7cc97780c5f2db2ca4920804f9db50c1c85e841ecf9893669f1679cea3d6df", "transactionIndex": "0x1", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, "cumulativeGasUsed": "0x48360", "gasUsed": "0x48360", - "contractAddress": "0x9680491850B5162C69786fdE9bd8bcd12d81b351", + "contractAddress": "0x74ea4485AaC8A7B26BF335BB8Ed2748E9C0EaAfA", "logs": [], "status": "0x1", - "root": "0xcf77317e182c2a4cfa7bbfb3eaf4323d0a76898642d6b0a044b9ccf0bdcc81b7", + "root": "0x4b55fbe494e060b272557e969ccaca8bd4f388c8db16ff3ba685d8c919c21af1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", "transactionIndex": "0x2", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", "to": null, - "cumulativeGasUsed": "0x26fb8d", - "gasUsed": "0x26fb8d", - "contractAddress": "0xd84815be6330a61524893920bdff175F63a1104F", + "cumulativeGasUsed": "0x27183a", + "gasUsed": "0x27183a", + "contractAddress": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "logs": [ { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", "transactionIndex": "0x2", "logIndex": "0x0", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", "transactionIndex": "0x2", "logIndex": "0x1", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" ], "data": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0xa4ca388f57b5784b0a8669c41e64ef4e1c5d72e91fd1e65f4eac599e86d60f59", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x7e9f54da0392ef9990cefe21b969c92a5941a40af522abd2208653f7a0054c51", "transactionIndex": "0x2", "logIndex": "0x2", "removed": false } ], "status": "0x1", - "root": "0xee29c21a2e466aaac3da0bca9337b3b0a42ed5b1fa0f7f7ebda7075d0434600a", - "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000020000000000000000001000000000000000000000000000000000000000000000000", + "root": "0xbec266d3d1354fc5fa1952f26471c1644bd2b945bbdda31708f7ddf9f0655872", + "logsBloom": "0x00020000000000000000000000800000000000000010000000800000080000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000004000800000800000000000000000000000000400000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", "transactionIndex": "0x3", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xd84815be6330a61524893920bdff175F63a1104F", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "cumulativeGasUsed": "0xbb23", "gasUsed": "0xbb23", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", "0x0000000000000000000000005adaf849e40b5b1303507299d3d06a4663d3a8b8" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x025ace430ac11e21f1bf3431adacf088157bb0ce4f4efeb8cc06068eb7741a78", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0x83f6e9a185aeaaa717abe96e5db03da011e80aed3f762a44df785244538ff163", "transactionIndex": "0x3", "logIndex": "0x3", "removed": false } ], "status": "0x1", - "root": "0x1a761c498f2907d75f2a3a779d3d98a445528fb29c83f40f693a1c4a192884e9", - "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000020000000000000000000000080000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000", + "root": "0x86db390e70e6496624f67ea3219f32e202ae18d0439cb94db008769f17bd0753", + "logsBloom": "0x00080000000000000000000000800000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000100000000000000000000002000000000000000000000400000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0" }, { - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", "from": "0x5adaf849e40B5b1303507299D3d06a4663D3A8b8", - "to": "0xd84815be6330a61524893920bdff175F63a1104F", - "cumulativeGasUsed": "0x42d34", - "gasUsed": "0x42d34", + "to": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "cumulativeGasUsed": "0x5b2a3", + "gasUsed": "0x5b2a3", "contractAddress": "0x0000000000000000000000000000000000000000", "logs": [ { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000057e8e2bc40ecff87e6f9b28750d5e7ac004eab9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x4", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000003cf2c147d43c98fa96d267572e3fd44a4d3940d4" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x5", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000004b6b9b31c72836806b0b1104cf1cdab8a0e3bd66" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x6", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000009ee1aa18f3feb435f811d6ae2f71b7d2a4adce0b" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x7", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000124abc63f20c6e2088078bd61e2db100ff30836e" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x8", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000ecf6bdde77c77863ae842b145f9ab296e5eacaf9" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0x9", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008ba5b0452b0a4da211579aa2e105c3da7c0ad36c" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0xa", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x0000000000000000000000008488c316e23504b8554e4bde9651802cd45aea24" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0xb", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000edc98fc6240671df8e7ed035ce39143320c1a174" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0xc", "removed": false }, { - "address": "0xd84815be6330a61524893920bdff175F63a1104F", + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", "topics": [ "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", "0x000000000000000000000000eef8e3c318fb3d86489fb258847d028adc629e14" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000001", - "blockHash": "0xf037acacfcf89348136640717820e470eca1ac6d1478eb8b341e3b8610eb10c6", - "blockNumber": "0x3f6935f", - "transactionHash": "0x57392b6664b455d65af13a7c142de28573603083f45443bc4b16620d0997e427", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", "transactionIndex": "0x4", "logIndex": "0xd", "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000054390d6fd8c4d4e77c13ac1e051c9a06ec19112f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xe", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000a4cbbd0f503720a0ca3c950d647a8c23fbe9702b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0xf", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000ab16485d5fc7140b01440c4a1de5007e9321db5f" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x10", + "removed": false + }, + { + "address": "0xF0ef43a073EE30239a1eCC84e1DAdc8895DBc1C2", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000046624ea6a260714df1e1ef4c13575bc7aadf0f0e" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0xbc7f8ae9f9d335cb30913de382f2a64ebcf1e6fe59b54d8ba5b567183df036d5", + "blockNumber": "0x45fda54", + "transactionHash": "0xeb21683cc449d64ac89756642c4440dd60d392302a5a0ec102b068399632f232", + "transactionIndex": "0x4", + "logIndex": "0x11", + "removed": false } ], "status": "0x1", - "root": "0x211fa834f9195f8187549c38a54e42b0413bbef5bfe3b808e49b85157c6e6f7e", - "logsBloom": "0x00000002100000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000008000000000000000000000000000000110000000000000000000000000000000000000800000002000020000001000010020000000000000000000000000000000000000200002001000800000000020002000000000000000000000000000000000000040000000000000080000020000000000000020000000000080000000800080000000000008000000000400004040000000001000000000000000800000000800000000000000000000001000000000000000800000000000000002000000000000000", + "root": "0xd8862b265a22fc3330dd23af04316ea46049e36a36cffac3481727e4d2b9dcb1", + "logsBloom": "0x00000002120000000002000000000000000000100000000400000000000000000000000000001000000008000000000000000020000000000008000000000000000000000000000000110080000010000000000000000000000000000800000042000020000001000010020004000000080000000000000000000000000200002001000800000000020002000000100000000000000000000000000000040000000000000080000020000000000000000000802000080000000800000000400000008000000000400004040002000001000000000000000800000000800000000000000000000000000000000000000800000000000000002000000000000000", "type": "0x0" } ], "libraries": [ - "src/libraries/OrderEngine.sol:OrderEngine:0x8add30f1fe6535b0b6fcc4a7b495f000e1c4c5d4" + "src/libraries/OrderEngine.sol:OrderEngine:0xa7fd6eb9cc35c210107d1a918e35ac82bc59961c" ], "pending": [], "returns": {}, - "timestamp": 1706874048, + "timestamp": 1710343345, "chain": 1891, "multi": false, - "commit": "2290b4d" + "commit": "fbc8dfb" } \ No newline at end of file From 8700faff14a4485dd12ebf174df4919146a76692 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 3 Apr 2024 12:17:17 +0500 Subject: [PATCH 119/122] pheonix deploy --- .../1890/run-1712127996.json | 114 +++++++ .../1890/run-1712128512.json | 120 +++++++ .../1890/run-1712128519.json | 309 ++++++++++++++++++ .../1890/run-latest.json | 309 ++++++++++++++++++ 4 files changed, 852 insertions(+) create mode 100644 broadcast/deployOrderEngine.s.sol/1890/run-1712127996.json create mode 100644 broadcast/deployOrderEngine.s.sol/1890/run-1712128512.json create mode 100644 broadcast/deployOrderEngine.s.sol/1890/run-1712128519.json create mode 100644 broadcast/deployOrderEngine.s.sol/1890/run-latest.json diff --git a/broadcast/deployOrderEngine.s.sol/1890/run-1712127996.json b/broadcast/deployOrderEngine.s.sol/1890/run-1712127996.json new file mode 100644 index 0000000..9193b52 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1890/run-1712127996.json @@ -0,0 +1,114 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": null, + "arguments": [ + "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c634300081500330000000000000000000000005f354319704dcbeb487b44762621dd8b0b30d5b7000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc1000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x7EbeF2A4b1B09381Ec5B9dF8C5c6f2dBECA59c73, 0x18fB38404DADeE1727Be4b805c5b242B5413Fa40, 0x81A1f39f7394c4849E4261Aa02AaC73865d13774, 0xe03bA6851335D01d38Dd6087c46C26008D16aF92]", + "[true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x2c59a", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c7300000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa4000000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af9200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x4822f84ded2f60d2cbf0e353ab51b7b5d2e89935" + ], + "pending": [], + "returns": {}, + "timestamp": 1712127996, + "chain": 1890, + "multi": false, + "commit": "96d70ed" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1890/run-1712128512.json b/broadcast/deployOrderEngine.s.sol/1890/run-1712128512.json new file mode 100644 index 0000000..76afca7 --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1890/run-1712128512.json @@ -0,0 +1,120 @@ +{ + "transactions": [ + { + "hash": "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": null, + "arguments": [ + "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c634300081500330000000000000000000000005f354319704dcbeb487b44762621dd8b0b30d5b7000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc1000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x7EbeF2A4b1B09381Ec5B9dF8C5c6f2dBECA59c73, 0x18fB38404DADeE1727Be4b805c5b242B5413Fa40, 0x81A1f39f7394c4849E4261Aa02AaC73865d13774, 0xe03bA6851335D01d38Dd6087c46C26008D16aF92]", + "[true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x2c59a", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c7300000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa4000000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af9200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x4822f84ded2f60d2cbf0e353ab51b7b5d2e89935" + ], + "pending": [ + "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e" + ], + "returns": {}, + "timestamp": 1712128512, + "chain": 1890, + "multi": false, + "commit": "96d70ed" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1890/run-1712128519.json b/broadcast/deployOrderEngine.s.sol/1890/run-1712128519.json new file mode 100644 index 0000000..f63197c --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1890/run-1712128519.json @@ -0,0 +1,309 @@ +{ + "transactions": [ + { + "hash": "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": null, + "arguments": [ + "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c634300081500330000000000000000000000005f354319704dcbeb487b44762621dd8b0b30d5b7000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc1000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x7EbeF2A4b1B09381Ec5B9dF8C5c6f2dBECA59c73, 0x18fB38404DADeE1727Be4b805c5b242B5413Fa40, 0x81A1f39f7394c4849E4261Aa02AaC73865d13774, 0xe03bA6851335D01d38Dd6087c46C26008D16aF92]", + "[true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x2c59a", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c7300000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa4000000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af9200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "transactionIndex": "0x0", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "logs": [], + "status": "0x1", + "root": "0x705b30baf70e2feb4a29f57e34279a860360e46dd3a240b6724bc06c9854a797", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "transactionIndex": "0x1", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "logs": [], + "status": "0x1", + "root": "0x51e9edbe2d3362fa10b5f192eec4f9bfb55b5f25dbf562143a5a8b07d75c4ec6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x27183a", + "gasUsed": "0x27183a", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b" + ], + "data": "0x", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xf76a917c52bc36a26d80596417be8cb27fb30094e38e3e7e5991cdc9cb54598d", + "logsBloom": "0x00020000000000000000000000000000000000000018000000800000000000000000000000000000000000000000000080000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000002000000000000000400001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionIndex": "0x3", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x8d87d5b8e8b7714d0b9b4c5cfe36237c972e6dfc16055bb6ed8bf3f07838d40e", + "logsBloom": "0x00080000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000400000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "cumulativeGasUsed": "0x1e533", + "gasUsed": "0x1e533", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c73" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa40" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af92" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "root": "0x7f9d40d37ea99f054d723912da527fd95f55bd52cd9507b23cb024881173197a", + "logsBloom": "0x00000000000000000000000000001000000000080008000000000000000000000000000001000000000000000000000080000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000008000000000000000000000000008000000000000000000000000000000000000000000002000000000000400000000000000000000100000000000000000000000080000000000000000000000000000000400000000000000100000000008000000000000000000000000041000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x4822f84ded2f60d2cbf0e353ab51b7b5d2e89935" + ], + "pending": [], + "returns": {}, + "timestamp": 1712128519, + "chain": 1890, + "multi": false, + "commit": "96d70ed" +} \ No newline at end of file diff --git a/broadcast/deployOrderEngine.s.sol/1890/run-latest.json b/broadcast/deployOrderEngine.s.sol/1890/run-latest.json new file mode 100644 index 0000000..f63197c --- /dev/null +++ b/broadcast/deployOrderEngine.s.sol/1890/run-latest.json @@ -0,0 +1,309 @@ +{ + "transactions": [ + { + "hash": "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "transactionType": "CREATE", + "contractName": "Predicates", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x5dd9f", + "value": "0x0", + "data": "0x6080806040523461001657610464908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b6000803560e01c80633d303c92146102265780634f38e2b8146101f55780636fe7b0ba146101c457806374261145146101a8578063bf15fcd814610157578063bf797959146100dd578063bfa75143146100b45763ca4ece221461007657600080fd5b346100b15760206100948361008a366102e9565b9093919330610408565b819391936100a7575b5050519015158152f35b109150838061009d565b80fd5b5090346100d9576020906100d06100ca366102e9565b916103a8565b90519015158152f35b5080fd5b5090346100d95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d9576004359167ffffffffffffffff83116100b1575061013c6101356020933690600401610247565b9030610408565b8192919261014e575b50519015158152f35b15915038610145565b50346100b1575061017061016a3661027a565b91610408565b901561017f5760209151908152f35b600482517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b5090346100d9576020906100d06101be366102e9565b9161034f565b50346100b15760206101d98361008a366102e9565b819391936101eb575050519015158152f35b149150838061009d565b50346100b157602061020a8361008a366102e9565b8193919361021c575050519015158152f35b119150838061009d565b50346100b1575061023961016a3661027a565b825191151582526020820152f35b9181601f840112156102755782359167ffffffffffffffff8311610275576020838186019501011161027557565b600080fd5b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126102755760043573ffffffffffffffffffffffffffffffffffffffff8116810361027557916024359067ffffffffffffffff8211610275576102e591600401610247565b9091565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261027557600435916024359067ffffffffffffffff8211610275576102e591600401610247565b90939293848311610275578411610275578101920390565b9290919260005b63ffffffff821690811561039d5761013582610373928888610337565b81610392575b50610388579060201c90610356565b5050915050600190565b600191501438610379565b505050915050600090565b92909192600090815b63ffffffff82169081156103fc57610135826103ce928989610337565b90159081156103f0575b506103e7579060201c906103b1565b50509150915090565b600191501415386103d8565b50505050915050600190565b916000906020928294826040519283375afa60203d1416918261042757565b600051915056fea26469706673582212200458f875fadeeb52c1e054aa965d8292bed98c8059d7cbdeadebad7fe2b4b8e364736f6c63430008150033", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionType": "CREATE", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": null, + "arguments": [ + "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0x32cee2", + "value": "0x0", + "data": "0x61014034620002a6576001600160401b0362002e93601f38829003908101601f191684019083821185831017620002905780859160409485948552833981010312620002a65782516001600160a01b039384821691829003620002a6576020015190848216808303620002a6578351906200007a82620002ab565b601d825260208201957f456c656b7472696b204c696d6974204f726465722050726f746f636f6c0000008752600260208751620000b781620002ab565b828152019761763160f01b8952600160005560018060a01b031994858354168355600154338782161760015589519b3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a351902097208760e05261010098818a524660a05260208101917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f998a84528983015260608201524660808201523060a082015260a0815260c08101928184109084111762000290578288525190206080523060c0526101209687528315801562000287575b620002785750600480548316919091179055600380549091169190911790558151600081526001600160a01b03821660208201527f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9162000234917f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090604090a18351600081526001600160a01b0390911660208201529081906040820190565b0390a15190612bcb9283620002c8843960805183611e4a015260a05183611f45015260c05183611e1b015260e05183611e9901525182611ebf01525181611e760152f35b63d92e233d60e01b8152600490fd5b50811562000193565b634e487b7160e01b600052604160045260246000fd5b600080fd5b604081019081106001600160401b03821117620002905760405256fe610180604052600436101561001357600080fd5b60003560e01c80630610f4a714611bfc57806315169dec14611bbc5780632024cbc114611ac95780633644e51514611aa65780633c3efab414611a7f5780635f2a6451146119c457806369328dec1461192b5780636d70f7ae146118ec5780636fda538f146117a5578063715018a61461172957806379ba5097146116235780638da5cb5b146115fc5780638efede3d1461152a57806390d6e14c14611458578063ab37f48614611419578063c2ee3a08146113f6578063c415b95c146113cf578063cf0f969d146113a3578063e30c39781461137c578063f2fde38b146112fa5763fe61e35c1461010457600080fd5b346104cc5760e06003193601126104cc5767ffffffffffffffff6004358181116104cc57610136903690600401611cac565b61016052610100526024358181116104cc57610156903690600401611cac565b60e052610140526044358181116104cc57610175903690600401611cac565b60c052610120526064358181116104cc57610194903690600401611cac565b916084358181116104cc576101ad903690600401611c47565b939060a4358381116104cc576101c7903690600401611cac565b95909360c435116104cc576101e13660c435600401611cac565b93909533600052600760205260ff60406000205416156112ca5760026000541461126c57600260005561016051156112425760e0516101605114801590611234575b8015611228575b6108b85760005b6101605181106108e25750505060148110156104d1575b50505050505060005b610160518110610262576001600055005b610273816101605161010051611d80565b906102848160e05161014051611d4f565b356102958260c05161012051611d4f565b35906102a08461240e565b90670de0b6b3a7640000946103236001600160a01b036102c36101208401611d5f565b166102d060e08401611d5f565b906001600160a01b03604051927fa9059cbb00000000000000000000000000000000000000000000000000000000602085015216602483015288870460448301526044825261031e82611f7f565b612917565b826000526006602052604060002054956101c0820160146103448285611dc0565b905010156103cf575b506001600160a01b037f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9360019884839461038d61010060c09801611d5f565b998161039c6101208501611d5f565b956080956040519c8d5260208d01520460408b0152046060890152803582890152013560a087015216941692a301610251565b6103df6103e59184959394611dc0565b90612b33565b6103f08394936127cd565b6103fc60a08701611d5f565b936001600160a01b0381163b156104cc578560006001600160a01b038b61045f8f96849886988f8c906040519e8f9c8d9b8c997fb6e1471a000000000000000000000000000000000000000000000000000000008b520493049160048901612796565b0393165af19081156104c0576001987f2b15903b1f1516345ba547119efb6a90ccb8012f1803cc933c0a28b9291a5fef9560c0956001600160a01b039586956104b1575b50945094509850935061034d565b6104ba90611f6b565b386104a3565b6040513d6000823e3d90fd5b600080fd5b6104da91612b33565b90949160805293946104ed6080516127cd565b8281036108b85760005b81811061083557506001600160a01b03608051163b156104cc5760405160a0527f2499e3a20000000000000000000000000000000000000000000000000000000060a0515260c460a0510160c0600460a051015261016051905260e460a0510160e46101605160051b60a05101019061010051906000905b61016051821061068b575050506105bd6105a160209260031960a051820301602460a051015260e0516101405161286b565b60031960a051820301604460a051015260c0516101205161286b565b60031960a051820301606460a05101528281520193906000905b808210610658575050506000949261061f926106029260031960a051840301608460a051015261286b565b60031960a05182030160a460a051015260a0519360a05193611fe9565b0360a051836001600160a01b03608051165af180156104c057610648575b388080808080610248565b61065360a051611f6b565b61063d565b9091948535906001600160a01b03821682036104cc57602080916001600160a01b036001941681520196019201906105d7565b9091927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c60a05182030182527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2161010051360301843512156104cc5760208061082860019361010051883501906108096107ed6101e084358452868501358785015260408501356040850152606080860135908501526080808601359085015260a06001600160a01b03610740828801611c8b565b16908501526001600160a01b0361075960c08701611c8b565b1660c08501526001600160a01b0361077360e08701611c8b565b1660e08501526101006001600160a01b0361078f828801611c8b565b16908501526101206001600160a01b036107aa828801611c8b565b16908501526101406107bd818701611c9f565b151590850152610160808601359085015261018090806107df8388018861281b565b929093870152850191611fe9565b6101a06107fc8186018661281b565b9185840390860152611fe9565b9161081a6101c0918281019061281b565b929091818503910152611fe9565b950192019201909161056f565b610840818387611d4f565b35906001600160a01b03821682036104cc576108b2600192610863838888611d4f565b3590604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526001600160a01b0360805116602484015260448301526044825261031e82611f7f565b016104f7565b60046040517ffc235960000000000000000000000000000000000000000000000000000000008152fd5b6108f3816101605161010051611d80565b906109048160e05161014051611d4f565b35916109168260c05161012051611d4f565b3592858310156111f95761092f8360051b860186611dc0565b90918592819661093e8661240e565b92602087013542116111c8576060870135159081156111bb575b81156111b2575b5080156111aa575b611180576001600160a01b036109806101208801611d5f565b16600052600560205260ff60406000205416158015611157575b61112d576109ab6101008701611d5f565b6001600160a01b03806109c16101208a01611d5f565b16911614611103576001600160a01b036109dd60a08801611d5f565b161580156110e6575b80156110c9575b80156110ad575b6110835760c086016001600160a01b03610a0d82611d5f565b1615159081611066575b5061103c5782600052600660205260406000205460408701351461101257610a426101408701611d73565b15610fd25750670de0b6b3a76400008702878104670de0b6b3a76400001488151715610f795784610a72916124fd565b670de0b6b3a76400006040870135818102918183041490151715610f7957610a9f906060880135906124fd565b10610fa8578160005260066020526040600020805490670de0b6b3a764000089048201809211610f79575560808501358015670de0b6b3a76400008904808302839004141715610f7957610b0490604087013590670de0b6b3a76400008a04026124fd565b826000526006602052604086013560406000205411610f4f57670de0b6b3a7640000809195049704925b610b706020610b3d3689612182565b604051809381927f95de97cc0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c057600091610f15575b5015610ead57610bfe916020916001600160a01b03610bb960a08a01611d5f565b16906040518095819482937f1626ba7e000000000000000000000000000000000000000000000000000000008452896004850152604060248501526044840191611fe9565b03915afa9081156104c057600091610e32575b507fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000911603610e08575b6101808401610c6b8186611dc0565b9050610dc0575b506101a084016014610c848287611dc0565b90501015610d01575b505060019450610cc0906001600160a01b03610cac6101008601611d5f565b1690610cba60a08601611d5f565b916128a8565b80610cce575b505001610231565b6001600160a01b03610ce6610100610cfa9401611d5f565b16906001600160a01b0360045416916128a8565b3880610cc6565b6103df610d0e9186611dc0565b909192610d1a846127cd565b610d2660a08801611d5f565b91816000526006602052604060002054936001600160a01b0386163b156104cc5786946040519b8c9687967f1ad047d20000000000000000000000000000000000000000000000000000000088526004880196610d8297612796565b03916001600160a01b031691815a6000948591f19081156104c057600195610cc092610db1575b819250610c8d565b610dba90611f6b565b38610da9565b610dcd610dd39186611dc0565b90612028565b15610dde5738610c72565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610ea5575b81610e4d60209383611f9b565b810103126104cc57517fffffffff00000000000000000000000000000000000000000000000000000000811681036104cc577fffffffff00000000000000000000000000000000000000000000000000000000610c11565b3d9150610e40565b610ebf610ecd92610ec592369161212d565b836126cf565b919091612536565b6001600160a01b0380610ee260a08801611d5f565b1691160315610c5c5760046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b90506020813d602011610f47575b81610f3060209383611f9b565b810103126104cc57610f4190611fdc565b38610b98565b3d9150610f23565b60046040517f17015bc1000000000000000000000000000000000000000000000000000000008152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60046040517fa0de07d3000000000000000000000000000000000000000000000000000000008152fd5b935091955082606085013511610fa857604084013591670de0b6b3a764000060808601359483600052600660205260408701356040600020550496610b2e565b60046040517fca92fdbb000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b90506001600160a01b0361107a3392611d5f565b16141538610a17565b60046040517fd92e233d000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b036110c260e08801611d5f565b16156109f4565b506001600160a01b036110df6101008801611d5f565b16156109ed565b506001600160a01b036110fc6101208801611d5f565b16156109e6565b60046040517fdd807227000000000000000000000000000000000000000000000000000000008152fd5b60046040517ff84835a0000000000000000000000000000000000000000000000000000000008152fd5b506001600160a01b0361116d6101008801611d5f565b1660005260ff604060002054161561099a565b60046040517f1f2a2005000000000000000000000000000000000000000000000000000000008152fd5b508015610967565b9050153861095f565b6040880135159150610958565b602484604051907f2e775cae0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b508160c051141561022a565b5060c05160e0511415610223565b60046040517f521299a9000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b60246040517fc0ae66ad000000000000000000000000000000000000000000000000000000008152336004820152fd5b346104cc5760206003193601126104cc57611313611c75565b61131b611cdd565b6001600160a01b0380911690817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255600154167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346104cc5760006003193601126104cc5760206001600160a01b0360025416604051908152f35b346104cc5760206003193601126104cc5760043560005260066020526020604060002054604051908152f35b346104cc5760006003193601126104cc5760206001600160a01b0360045416604051908152f35b346104cc5760006003193601126104cc576020604051670de0b6b3a76400008152f35b346104cc5760206003193601126104cc576001600160a01b0361143a611c75565b166000526005602052602060ff604060002054166040519015158152f35b346104cc5760206003193601126104cc576004356001600160a01b038082168092036104cc57611486611cdd565b8115611083576003549081169082821461150057604080516001600160a01b03938416815292841660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc9190a11617600355005b60046040517fea0f8928000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc57611543611c75565b61154b611cdd565b6001600160a01b0390818116918215611083576004549081168381146115d257604080516001600160a01b0392831681529390911660208401527fffffffffffffffffffffffff0000000000000000000000000000000000000000927f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed09190a11617600455005b60046040517fa133328a000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360015416604051908152f35b346104cc5760006003193601126104cc576002546001600160a01b0333818316036116a5577fffffffffffffffffffffffff00000000000000000000000000000000000000008092166002556001549133908316176001553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152fd5b346104cc5760006003193601126104cc57611742611cdd565b60006001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000008060025416600255600154908116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346104cc5760406003193601126104cc5767ffffffffffffffff6004358181116104cc576117d7903690600401611cac565b916024359081116104cc576117f0903690600401611cac565b6117f8611cdd565b8315611242578084036108b85760005b84811061181157005b6001600160a01b03908161182e611829838989611d4f565b611d5f565b1615611083576001917f49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e27441761186b611866848789611d4f565b611d73565b8261187a611829868c8c611d4f565b166000526118bd6020916005835260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b6118cb611829858b8b611d4f565b926118da61186686898b611d4f565b9360405194151585521692a201611808565b346104cc5760206003193601126104cc576001600160a01b0361190d611c75565b166000526007602052602060ff604060002054166040519015158152f35b346104cc5760606003193601126104cc57611944611c75565b604435906001600160a01b03908183168093036104cc57611963611cdd565b1690811580156119bc575b611083576119ba91604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260243560448301526044825261031e82611f7f565b005b50801561196e565b346104cc576119d236611c14565b6119de60a08201611d5f565b6001600160a01b0333911603611a55576119f78161240e565b80600052600660205260408060002054920135918281146110125760407f87b5f0afdc3a118b68246141c5bd338672ab3e901be636e27116238d284de6ac918151908482526020820152a16000526006602052604060002055600080f35b60046040517f4ca88867000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760006003193601126104cc5760206001600160a01b0360035416604051908152f35b346104cc5760006003193601126104cc576020611ac1611e11565b604051908152f35b346104cc5760406003193601126104cc57611ae2611c75565b60243590811515908183036104cc576001600160a01b0390611b02611cdd565b16918215611083578260005260076020528160ff60406000205416151514611b92577fcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b91611b89602092856000526007845260406000209060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b604051908152a2005b60046040517f5b2625c0000000000000000000000000000000000000000000000000000000008152fd5b346104cc5760206003193601126104cc5760043567ffffffffffffffff81116104cc57611bf2610dcd6020923690600401611c47565b6040519015158152f35b346104cc576020611ac1611c0f36611c14565b61240e565b600319906020828201126104cc576004359167ffffffffffffffff83116104cc57826101e0920301126104cc5760040190565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc57602083818601950101116104cc57565b600435906001600160a01b03821682036104cc57565b35906001600160a01b03821682036104cc57565b359081151582036104cc57565b9181601f840112156104cc5782359167ffffffffffffffff83116104cc576020808501948460051b0101116104cc57565b6001600160a01b03600154163303611cf157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908110156111f95760051b0190565b356001600160a01b03811681036104cc5790565b3580151581036104cc5790565b91908110156111f95760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe21813603018212156104cc570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156104cc570180359067ffffffffffffffff82116104cc576020019181360383136104cc57565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611f42575b15611e6c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117611f135760405251902090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b507f00000000000000000000000000000000000000000000000000000000000000004614611e43565b67ffffffffffffffff8111611f1357604052565b6080810190811067ffffffffffffffff821117611f1357604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611f1357604052565b519081151582036104cc57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b90612080906001600160a01b036003541692604093849283518095819482937f3d303c920000000000000000000000000000000000000000000000000000000084528560048501528760248501526044840191611fe9565b03915afa9081156120e85760009283926120a8575b5050816120a0575090565b600191501490565b9080939250813d83116120e1575b6120c08183611f9b565b810103126120de575060206120d482611fdc565b9101513880612095565b80fd5b503d6120b6565b82513d6000823e3d90fd5b67ffffffffffffffff8111611f1357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612139826120f3565b916121476040519384611f9b565b8294818452818301116104cc578281602093846000960137010152565b9080601f830112156104cc5781602061217f9335910161212d565b90565b9190916101e09081818503126104cc576040519182019067ffffffffffffffff9183811083821117611f1357604052829481358452602082013560208501526040820135604085015260608201356060850152608082013560808501526121eb60a08301611c8b565b60a08501526121fc60c08301611c8b565b60c085015261220d60e08301611c8b565b60e0850152610100612220818401611c8b565b90850152610120612232818401611c8b565b90850152610140612244818401611c9f565b908501526101608083013590850152610180808301358481116104cc578261226d918501612164565b908501526101a0808301358481116104cc578261228b918501612164565b908501526101c092838301359081116104cc576122a89201612164565b910152565b919082519283825260005b8481106122f75750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016122b8565b9061217f916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a08201516001600160a01b0380911660c08301528060c08401511660e083015260e0830151816101009116818401528301518161012091168184015283015190610140911681830152820151610160901515818301528201516101809081830152820151906101e06123c36101a09382858501526102008401906122ad565b928401516123fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0946101c0928686830301848701526122ad565b94015192828503019101526122ad565b602061241e612451923690612182565b604051809381927fc3c1f2ec0000000000000000000000000000000000000000000000000000000083526004830161230b565b0381734822f84ded2f60d2cbf0e353ab51b7b5d2e899355af49081156104c0576000916124cc575b50612482611e11565b906040519060208201927f1901000000000000000000000000000000000000000000000000000000000000845260228301526042820152604281526124c681611f7f565b51902090565b906020823d82116124f5575b816124e560209383611f9b565b810103126120de57505138612479565b3d91506124d8565b8115612507570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60058110156126a057806125475750565b600181036125ad5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036126135760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461261c57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9060418151146000146126fd576126f9916020820151906060604084015193015160001a90612707565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161278a5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa1561277d5781516001600160a01b03811615612777579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b926001600160a01b0361217f98969360c0969386521660208501526040840152606083015260808201528160a08201520191611fe9565b6001600160a01b0316308114908115612812575b506127e857565b60046040517f8a5039c1000000000000000000000000000000000000000000000000000000008152fd5b905015386127e1565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156104cc57016020813591019167ffffffffffffffff82116104cc5781360383136104cc57565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116104cc5760209260051b809284830137010190565b91906001600160a01b03604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815260a081019181831067ffffffffffffffff841117611f135761291592604052612917565b565b6001600160a01b031690604051604081019080821067ffffffffffffffff831117611f13576129a8916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d15612a5f573d9161298d836120f3565b9261299b6040519485611f9b565b83523d868885013e612a63565b908151806129b7575b50505050565b828491810103126120de5750816129ce9101611fdc565b156129db578080806129b1565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6060915b91929015612ade5750815115612a77575090565b3b15612a805790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612af15750805190602001fd5b612b2f906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906122ad565b0390fd5b9160148210612b6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec6014843560601c9401920190565b60046040517fef356d7a000000000000000000000000000000000000000000000000000000008152fdfea26469706673582212202359e3ddbb19d82e21a3ac6f2af2942cb384f157a832b656ef265ddfd1e9389064736f6c634300081500330000000000000000000000005f354319704dcbeb487b44762621dd8b0b30d5b7000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "manageOperatorPrivilege(address,bool)", + "arguments": [ + "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "true" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x111af", + "value": "0x0", + "data": "0x2024cbc1000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionType": "CALL", + "contractName": "AdvancedOrderEngine", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "function": "updateTokenWhitelist(address[],bool[])", + "arguments": [ + "[0x7EbeF2A4b1B09381Ec5B9dF8C5c6f2dBECA59c73, 0x18fB38404DADeE1727Be4b805c5b242B5413Fa40, 0x81A1f39f7394c4849E4261Aa02AaC73865d13774, 0xe03bA6851335D01d38Dd6087c46C26008D16aF92]", + "[true, true, true, true]" + ], + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "to": "0x3c553461a9c28dbcc81b9f7fa8281d70d0d18098", + "gas": "0x2c59a", + "value": "0x0", + "data": "0x6fda538f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c7300000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa4000000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af9200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb81b71950d97fe692ba0cbfc8322d91b45139daf690d043258f2a7414a75d38f", + "transactionIndex": "0x0", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0x4822f84DED2f60D2cbF0e353ab51b7B5D2e89935", + "logs": [], + "status": "0x1", + "root": "0x705b30baf70e2feb4a29f57e34279a860360e46dd3a240b6724bc06c9854a797", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xf579de2a4170d4d9d326d60042333e1ed1460ea74fffb1412ff65d1c996fa1bd", + "transactionIndex": "0x1", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x48360", + "gasUsed": "0x48360", + "contractAddress": "0x5F354319704dCBeb487b44762621DD8B0b30D5B7", + "logs": [], + "status": "0x1", + "root": "0x51e9edbe2d3362fa10b5f192eec4f9bfb55b5f25dbf562143a5a8b07d75c4ec6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x27183a", + "gasUsed": "0x27183a", + "contractAddress": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b" + ], + "data": "0x", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed0" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x1e74c2f263d77986cb475d9e4dedb38bba660cbe031e1f350a2a510e774f5fcc" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0x7e5dfabad0685dbdab4f8a5e51917b89f053e3d44f0ae884442d3d93fbc79066", + "transactionIndex": "0x2", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "root": "0xf76a917c52bc36a26d80596417be8cb27fb30094e38e3e7e5991cdc9cb54598d", + "logsBloom": "0x00020000000000000000000000000000000000000018000000800000000000000000000000000000000000000000000080000000000000000000000040000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000800000000000000000000000000400000000000000002000000000000000400001000080000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionIndex": "0x3", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "cumulativeGasUsed": "0xbb23", + "gasUsed": "0xbb23", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0xcba86444cdc912f5fa5f53c20361b3517933eb181876b3f4a0d47478c6a3039b", + "0x000000000000000000000000f29f5fc83c9310c887efce9d68cae1f046b6511b" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xf9047d2a51c09e90a8dd93131ef38cccaec797f3c39afd0aaebb00b719daca69", + "transactionIndex": "0x3", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "root": "0x8d87d5b8e8b7714d0b9b4c5cfe36237c972e6dfc16055bb6ed8bf3f07838d40e", + "logsBloom": "0x00080000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000400000000000000000000080000000000000000000000000100000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "cumulativeGasUsed": "0x1e533", + "gasUsed": "0x1e533", + "contractAddress": "0x0000000000000000000000000000000000000000", + "logs": [ + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x0000000000000000000000007ebef2a4b1b09381ec5b9df8c5c6f2dbeca59c73" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000018fb38404dadee1727be4b805c5b242b5413fa40" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x00000000000000000000000081a1f39f7394c4849e4261aa02aac73865d13774" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0x3c553461a9c28DbCc81B9f7fA8281d70D0d18098", + "topics": [ + "0x49081ac6f68c0541ea8f82b948be21b0f16d1d550ad509a8324fec504e274417", + "0x000000000000000000000000e03ba6851335d01d38dd6087c46c26008d16af92" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "blockHash": "0x3462645dfaa38b4a5343b50fb4737547cc7623f8019b0d3b2607146a2869f143", + "blockNumber": "0x46d145d", + "transactionHash": "0xde0e777d98382931ee7dc5e80d9c26b2958417b1b42f1a2dda092d0c1d94a67e", + "transactionIndex": "0x4", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "root": "0x7f9d40d37ea99f054d723912da527fd95f55bd52cd9507b23cb024881173197a", + "logsBloom": "0x00000000000000000000000000001000000000080008000000000000000000000000000001000000000000000000000080000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000008000000000000000000000000008000000000000000000000000000000000000000000002000000000000400000000000000000000100000000000000000000000080000000000000000000000000000000400000000000000100000000008000000000000000000000000041000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x4822f84ded2f60d2cbf0e353ab51b7b5d2e89935" + ], + "pending": [], + "returns": {}, + "timestamp": 1712128519, + "chain": 1890, + "multi": false, + "commit": "96d70ed" +} \ No newline at end of file From dd7991d79c0c0668659bb9eff9a8308410f9bddf Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 3 Apr 2024 14:23:47 +0500 Subject: [PATCH 120/122] Minimum fee threshhold --- src/AdvancedOrderEngine.sol | 49 +++- src/AdvancedOrderEngineErrors.sol | 4 +- src/Vault.sol | 5 +- test/AdvancedOrderEngine.t.sol | 421 +++++++++++++++++++++++++++++- 4 files changed, 468 insertions(+), 11 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index d3f915b..dda0fed 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -33,6 +33,12 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { // Used for precision in calculations. uint256 public constant ONE = 1e18; + // Used for precision in calculations. + uint256 public constant MAX_BPS = 10000; + + // minimum fee required + uint256 public minimumFee; + // EIP-712 domain name used for computing the domain separator. string private constant _NAME = "Elektrik Limit Order Protocol"; @@ -65,6 +71,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { address oldFeeCollectorAddr, address newFeeCollectorAddr ); + event MinimumFeeChanged( + uint256 oldMinFee, + uint256 newMinFee + ); event PredicatesChanged( address oldPredicatesAddr, address newPredicatesAddr @@ -244,6 +254,23 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { feeCollector = newFeeCollectorAddr; } + /** + * @notice Set the minimum fee required on orders + * @dev Only callable by the owner. Initially set to zero. + * @param _fee The min fee + */ + function setMinimumFee( + uint _fee + ) external onlyOwner { + if(_fee > 10000) revert ExceedsHundredPercent(); + // Local copy to save gas. + uint256 currentMinFee = minimumFee; + + emit MinimumFeeChanged(currentMinFee, _fee); + + minimumFee = _fee; + } + /** * @notice collect leftover tokens. * @dev Only callable by the owner. @@ -468,6 +495,9 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { executedSellAmount = order.sellTokenAmount; executedFeeAmount = order.feeAmounts; + // Revert if order's limit price is not respected. + _validateFee(executedSellAmount, executedFeeAmount); + // Update the total filled sell amount for this order to match the order's original sell token amount. filledSellAmount[orderHash] = executedSellAmount; @@ -494,10 +524,10 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { ); // Receive sell tokens from the maker. - _receiveAsset(IERC20(order.sellToken), executedSellAmount, order.maker); + _receiveAsset(IERC20(order.sellToken), executedSellAmount, order.maker, address(this)); // Receive fees from the maker to the fee collector address. - if(executedFeeAmount != 0) { _receiveAsset(IERC20(order.sellToken), executedFeeAmount, feeCollector); } + if(executedFeeAmount != 0) { _receiveAsset(IERC20(order.sellToken), executedFeeAmount, order.maker, feeCollector); } } function _validateOrder( @@ -582,6 +612,9 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { (order.feeAmounts * executedSellAmount) / order.sellTokenAmount; + // Revert if order's limit price is not respected. + _validateFee(executedSellAmount, executedFeeAmount); + // Revert if the total filled sell amount surpasses the order's original sell token amount. if (filledSellAmount[orderHash] > order.sellTokenAmount) { revert ExceedsOrderSellAmount(); @@ -613,6 +646,18 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { } } + function _validateFee( + uint256 executedSellAmount, + uint256 executedFeeAmount + ) private view { + if ( + (executedSellAmount * minimumFee) / MAX_BPS > + executedFeeAmount + ) { + revert MinimumFeeNotRespected(); + } + } + function _executePreInteraction( OrderEngine.Order calldata order, bytes32 orderHash, diff --git a/src/AdvancedOrderEngineErrors.sol b/src/AdvancedOrderEngineErrors.sol index 5d4393a..7cc37dc 100644 --- a/src/AdvancedOrderEngineErrors.sol +++ b/src/AdvancedOrderEngineErrors.sol @@ -9,6 +9,7 @@ error ZeroAddress(); error InvalidSignature(); error IncorrectDataLength(); error LimitPriceNotRespected(); +error MinimumFeeNotRespected(); error NotAnOperator(address caller); error PredicateIsNotTrue(); error ExceedsOrderSellAmount(); @@ -20,4 +21,5 @@ error InvalidInteractionTarget(); error AccessDenied(); error SameFeeCollectorAddress(); error TokenNotWhitelisted(); -error SameBuyAndSellToken(); \ No newline at end of file +error SameBuyAndSellToken(); +error ExceedsHundredPercent(); \ No newline at end of file diff --git a/src/Vault.sol b/src/Vault.sol index 9b4a63f..c6bf58d 100644 --- a/src/Vault.sol +++ b/src/Vault.sol @@ -10,9 +10,10 @@ abstract contract Vault { function _receiveAsset( IERC20 token, uint256 amount, - address maker + address maker, + address to ) internal { - token.safeTransferFrom(maker, address(this), amount); + token.safeTransferFrom(maker, to, amount); } function _sendAsset(IERC20 token, uint256 amount, address maker) internal { diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 88821d4..2b941a3 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -291,6 +291,32 @@ contract AdvancedOrderEngineTest is Test { advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); } + function testSetFee() public { + vm.startPrank(admin); + + assertEq(advancedOrderEngine.minimumFee(), 0); + + uint fee = 1295; + + advancedOrderEngine.setMinimumFee(fee); + assertEq(advancedOrderEngine.minimumFee(), fee); + + fee = 129500; + + vm.expectRevert(ExceedsHundredPercent.selector); + advancedOrderEngine.setMinimumFee(fee); + + fee = 0; + + advancedOrderEngine.setMinimumFee(fee); + assertEq(advancedOrderEngine.minimumFee(), fee); + + vm.stopPrank(); + + vm.expectRevert(bytes("Ownable: caller is not the owner")); + advancedOrderEngine.manageOperatorPrivilege(zeroAddress, false); + } + function testUpdateTokenWhitelist() public { vm.startPrank(admin); @@ -2477,6 +2503,202 @@ contract AdvancedOrderEngineTest is Test { assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); } + function testFillOrKillFee(uint _fee) public { + + vm.assume(_fee < 10000); + + vm.prank(admin); + advancedOrderEngine.setMinimumFee(_fee); // 12.95 % + + uint balanceBefore = usdc.balanceOf(operator); + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeWethMaker3 = weth.balanceOf(maker3); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput7(); + + facilitatorInteraction = abi.encodePacked( + helper + ); + borrowedAmounts = new uint256[](1); + borrowedAmounts[0] = 1000000; + borrowedTokens = new IERC20[](1); + borrowedTokens[0] = usdc; + + vm.startPrank(operator); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterWethMaker3 = weth.balanceOf(maker3); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount + order2.feeAmounts); + assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount + order1.feeAmounts); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount + order3.feeAmounts); + + uint balanceAfter = usdc.balanceOf(operator); + + console2.log("ba: ", balanceAfter); + + assertEq(balanceBefore + 1 * 10 ** 6, balanceAfter); + } + + function testPartiallyFillFee(uint _fee) public { + + vm.assume(_fee < 10000); + + vm.prank(admin); + advancedOrderEngine.setMinimumFee(_fee); // 12.95 % + + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + uint beforeUsdcMaker3 = usdc.balanceOf(maker3); + uint beforeWethMaker3 = weth.balanceOf(maker3); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) = getStandardInput2(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + vm.stopPrank(); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + uint afterUsdcMaker3 = usdc.balanceOf(maker3); + uint afterWethMaker3 = weth.balanceOf(maker3); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount / 2 + order2.feeAmounts / 2); + assertEq(beforeWethMaker2 + order2.buyTokenAmount / 2, afterWethMaker2); + assertEq(beforeUsdcMaker1, afterUsdcMaker1 + order1.sellTokenAmount + order1.feeAmounts); + assertEq(beforeWethMaker1 + order1.buyTokenAmount, afterWethMaker1); + assertEq(beforeUsdcMaker3 + order3.buyTokenAmount, afterUsdcMaker3); + assertEq(beforeWethMaker3 , afterWethMaker3 + order3.sellTokenAmount + order3.feeAmounts); + } + + function testPartiallyFillFee2(uint _fee) public { + + vm.assume(_fee < 10000); + + vm.prank(admin); + advancedOrderEngine.setMinimumFee(_fee); // 12.95 % + + uint beforeUsdcMaker2 = usdc.balanceOf(maker2); + uint beforeWethMaker2 = weth.balanceOf(maker2); + uint beforeUsdcMaker1 = usdc.balanceOf(maker1); + uint beforeWethMaker1 = weth.balanceOf(maker1); + + vm.startPrank(operator); + + ( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2 + ) = getStandardInput8(); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + uint afterUsdcMaker2 = usdc.balanceOf(maker2); + uint afterWethMaker2 = weth.balanceOf(maker2); + uint afterUsdcMaker1 = usdc.balanceOf(maker1); + uint afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount / 2 + order2.feeAmounts / 2); + assertEq(beforeWethMaker2 + order2.buyTokenAmount / 2, afterWethMaker2); + assertEq(beforeWethMaker1, afterWethMaker1 + order1.sellTokenAmount / 2 + order1.feeAmounts / 2); + assertEq(beforeUsdcMaker1 + order1.buyTokenAmount / 2, afterUsdcMaker1); + + advancedOrderEngine.fillOrders( + orders, + sell, + buy, + signatures, + facilitatorInteraction, + borrowedTokens, + borrowedAmounts + ); + + afterUsdcMaker2 = usdc.balanceOf(maker2); + afterWethMaker2 = weth.balanceOf(maker2); + afterUsdcMaker1 = usdc.balanceOf(maker1); + afterWethMaker1 = weth.balanceOf(maker1); + + assertEq(beforeUsdcMaker2, afterUsdcMaker2 + order2.sellTokenAmount + order2.feeAmounts); + assertEq(beforeWethMaker2 + order2.buyTokenAmount, afterWethMaker2); + assertEq(beforeWethMaker1, afterWethMaker1 + order1.sellTokenAmount + order1.feeAmounts); + assertEq(beforeUsdcMaker1 + order1.buyTokenAmount, afterUsdcMaker1); + + vm.stopPrank(); + } + function testStress() public { vm.startPrank(operator); @@ -2556,9 +2778,15 @@ contract AdvancedOrderEngineTest is Test { OrderEngine.Order memory order2 ) { + uint fee = advancedOrderEngine.minimumFee(); + uint max_bps = advancedOrderEngine.MAX_BPS(); + order1 = getOrder1(); order2 = getOrder2(); + order1.feeAmounts = (order1.sellTokenAmount * fee) / max_bps; + order2.feeAmounts = (order2.sellTokenAmount * fee) / max_bps; + orders = new OrderEngine.Order[](2); orders[0] = order2; @@ -2708,12 +2936,18 @@ contract AdvancedOrderEngineTest is Test { OrderEngine.Order memory order3 ) { + uint fee = advancedOrderEngine.minimumFee(); + uint max_bps = advancedOrderEngine.MAX_BPS(); + + uint orderSellAmount = 10000000; + uint orderFeeAmount = (orderSellAmount * fee) / max_bps; + order1 = OrderEngine.Order( 124, // nonce value block.timestamp + 3600, // valid till - 10000000, // 10 USDC - sell token amount + orderSellAmount, // 10 USDC - sell token amount 4800000000000000, // 0.0048 weth - buy token amount - 0, // fee + orderFeeAmount, // fee maker1, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker1, // Recipient's Ethereum address @@ -2726,12 +2960,15 @@ contract AdvancedOrderEngineTest is Test { "0x" // post-interaction data ); + orderSellAmount = 10000000; + orderFeeAmount = (orderSellAmount * fee) / max_bps; + order2 = OrderEngine.Order( 125, // nonce value block.timestamp + 3600, // valid till - 10000000, // 11 USDC - sell token amount + orderSellAmount, // 11 USDC - sell token amount 4800000000000000, // 0.0048 weth - buy token amount - 0, // fee + orderFeeAmount, // fee maker2, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker2, // Recipient's Ethereum address @@ -2744,12 +2981,15 @@ contract AdvancedOrderEngineTest is Test { "0x" // post-interaction data ); + orderSellAmount = 0.0072 ether; + orderFeeAmount = (orderSellAmount * fee) / max_bps; + order3 = OrderEngine.Order( 126, // nonce value block.timestamp + 3600, // valid till - 0.0072 ether, // 0.0048 weth - sell token amount + orderSellAmount, // 0.0048 weth - sell token amount 15000000, // 20 USDC - buy token amount - 0, // fee + orderFeeAmount, // fee maker3, // Maker's address operator, // Taker's Ethereum address (or null for public order) maker3, // Recipient's Ethereum address @@ -3171,6 +3411,175 @@ contract AdvancedOrderEngineTest is Test { } + function getStandardInput7() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2, + OrderEngine.Order memory order3 + ) { + + uint fee = advancedOrderEngine.minimumFee(); + uint max_bps = advancedOrderEngine.MAX_BPS(); + + uint orderSellAmount = 10000000; + uint orderFeeAmount = (orderSellAmount * fee) / max_bps; + + order1 = OrderEngine.Order( + 124, // nonce value + block.timestamp + 3600, // valid till + orderSellAmount, // 10 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + orderFeeAmount, // fee + maker1, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker1, // Recipient's Ethereum address + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orderSellAmount = 11000000; + orderFeeAmount = (orderSellAmount * fee) / max_bps; + + order2 = OrderEngine.Order( + 125, // nonce value + block.timestamp + 3600, // valid till + orderSellAmount, // 11 USDC - sell token amount + 4800000000000000, // 0.0048 weth - buy token amount + orderFeeAmount, // fee + maker2, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker2, // Recipient's Ethereum address + address(usdc), // USDC token address - sell token + address(weth), // MATIC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orderSellAmount = 0.0096 ether; + orderFeeAmount = (orderSellAmount * fee) / max_bps; + + order3 = OrderEngine.Order( + 126, // nonce value + block.timestamp + 3600, // valid till + orderSellAmount, // 0.0048 weth - sell token amount + 20000000, // 20 USDC - buy token amount + orderFeeAmount, // fee + maker3, // Maker's address + operator, // Taker's Ethereum address (or null for public order) + maker3, // Recipient's Ethereum address + address(weth), // MATIC token address - sell token + address(usdc), // USDC token address - buy token + false, // is partially fillable + "0x", // facilitator calldata + "", // predicate calldata + "0x", // pre-interaction data + "0x" // post-interaction data + ); + + orders = new OrderEngine.Order[](3); + + orders[0] = order3; + orders[1] = order2; + orders[2] = order1; + + sell = new uint256[](3); + + sell[0] = order3.sellTokenAmount * 1e18; + sell[1] = order2.sellTokenAmount * 1e18; + sell[2] = order1.sellTokenAmount * 1e18; + + buy = new uint256[](3); + + buy[0] = order3.buyTokenAmount * 1e18; + buy[1] = order2.buyTokenAmount * 1e18; + buy[2] = order1.buyTokenAmount * 1e18; + + signatures = new bytes[](3); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory order1Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory order2Signature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker3PrivateKey, _hashTypedDataV4(OrderEngine.hash(order3))); + bytes memory order3Signature = abi.encodePacked(r, s, v); + + signatures[0] = order3Signature; + signatures[1] = order2Signature; + signatures[2] = order1Signature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + + function getStandardInput8() private view returns( + OrderEngine.Order[] memory orders, + uint256[] memory sell, + uint256[] memory buy, + bytes[] memory signatures, + bytes memory facilitatorInteraction, + IERC20[] memory borrowedTokens, + uint256[] memory borrowedAmounts, + OrderEngine.Order memory order1, + OrderEngine.Order memory order2 + ) { + + uint fee = advancedOrderEngine.minimumFee(); + uint max_bps = advancedOrderEngine.MAX_BPS(); + + order1 = getOrder1(); + order2 = getOrder2(); + + order1.feeAmounts = (order1.sellTokenAmount * fee) / max_bps; + order2.feeAmounts = (order2.sellTokenAmount * fee) / max_bps; + + orders = new OrderEngine.Order[](2); + + orders[0] = order2; + orders[1] = order1; + + sell = new uint256[](2); + + sell[0] = order2.sellTokenAmount * 1e18 / 2; + sell[1] = order1.sellTokenAmount * 1e18 / 2; + + buy = new uint256[](2); + + buy[0] = order2.buyTokenAmount * 1e18 / 2; + buy[1] = order1.buyTokenAmount * 1e18 / 2; + + signatures = new bytes[](2); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(maker2PrivateKey, _hashTypedDataV4(OrderEngine.hash(order2))); + bytes memory sellOrderSignature = abi.encodePacked(r, s, v); + + (v, r, s) = vm.sign(maker1PrivateKey, _hashTypedDataV4(OrderEngine.hash(order1))); + bytes memory buyOrderSignature = abi.encodePacked(r, s, v); + + signatures[0] = sellOrderSignature; + signatures[1] = buyOrderSignature; + + facilitatorInteraction = "0x"; + borrowedAmounts = new uint256[](0); + borrowedTokens = new IERC20[](0); + } + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { return ECDSA.toTypedDataHash(advancedOrderEngine.DOMAIN_SEPARATOR(), structHash); } From 9a9f020186e02518b1d27e76686b99a5a72f35ae Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Wed, 3 Apr 2024 14:33:37 +0500 Subject: [PATCH 121/122] Max fee cap --- src/AdvancedOrderEngine.sol | 2 +- src/AdvancedOrderEngineErrors.sol | 2 +- test/AdvancedOrderEngine.t.sol | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/AdvancedOrderEngine.sol b/src/AdvancedOrderEngine.sol index dda0fed..8a7ae1c 100644 --- a/src/AdvancedOrderEngine.sol +++ b/src/AdvancedOrderEngine.sol @@ -262,7 +262,7 @@ contract AdvancedOrderEngine is ReentrancyGuard, Vault, Ownable2Step, EIP712 { function setMinimumFee( uint _fee ) external onlyOwner { - if(_fee > 10000) revert ExceedsHundredPercent(); + if(_fee > 2000) revert ExceedsTwentyPercent(); // Local copy to save gas. uint256 currentMinFee = minimumFee; diff --git a/src/AdvancedOrderEngineErrors.sol b/src/AdvancedOrderEngineErrors.sol index 7cc37dc..bb6dc54 100644 --- a/src/AdvancedOrderEngineErrors.sol +++ b/src/AdvancedOrderEngineErrors.sol @@ -22,4 +22,4 @@ error AccessDenied(); error SameFeeCollectorAddress(); error TokenNotWhitelisted(); error SameBuyAndSellToken(); -error ExceedsHundredPercent(); \ No newline at end of file +error ExceedsTwentyPercent(); \ No newline at end of file diff --git a/test/AdvancedOrderEngine.t.sol b/test/AdvancedOrderEngine.t.sol index 2b941a3..ff6ab01 100644 --- a/test/AdvancedOrderEngine.t.sol +++ b/test/AdvancedOrderEngine.t.sol @@ -303,7 +303,7 @@ contract AdvancedOrderEngineTest is Test { fee = 129500; - vm.expectRevert(ExceedsHundredPercent.selector); + vm.expectRevert(ExceedsTwentyPercent.selector); advancedOrderEngine.setMinimumFee(fee); fee = 0; @@ -2505,7 +2505,7 @@ contract AdvancedOrderEngineTest is Test { function testFillOrKillFee(uint _fee) public { - vm.assume(_fee < 10000); + vm.assume(_fee < 2000); vm.prank(admin); advancedOrderEngine.setMinimumFee(_fee); // 12.95 % @@ -2576,7 +2576,7 @@ contract AdvancedOrderEngineTest is Test { function testPartiallyFillFee(uint _fee) public { - vm.assume(_fee < 10000); + vm.assume(_fee < 2000); vm.prank(admin); advancedOrderEngine.setMinimumFee(_fee); // 12.95 % @@ -2632,7 +2632,7 @@ contract AdvancedOrderEngineTest is Test { function testPartiallyFillFee2(uint _fee) public { - vm.assume(_fee < 10000); + vm.assume(_fee < 2000); vm.prank(admin); advancedOrderEngine.setMinimumFee(_fee); // 12.95 % From 969c9176bf8889204292272a90755d0c45299cc6 Mon Sep 17 00:00:00 2001 From: HareemSaad Date: Fri, 5 Apr 2024 14:45:52 +0500 Subject: [PATCH 122/122] facilatator mainnet deploy --- .../1890/run-1712310260.json | 52 ++++++++++++ .../1890/run-1712310267.json | 82 +++++++++++++++++++ .../1890/run-latest.json | 82 +++++++++++++++++++ 3 files changed, 216 insertions(+) create mode 100644 broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310260.json create mode 100644 broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310267.json create mode 100644 broadcast/deployFacilitatorSwapContract.s.sol/1890/run-latest.json diff --git a/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310260.json b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310260.json new file mode 100644 index 0000000..273ccbc --- /dev/null +++ b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310260.json @@ -0,0 +1,52 @@ +{ + "transactions": [ + { + "hash": "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x490Fb03F26B1c384D24f95e5771299770fef565f", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089", + "transactionType": "CREATE", + "contractName": "FacilitatorSwap", + "contractAddress": "0x8eE74f511c7e46D96E46C364009e69a9DeddC20F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xb0beb", + "value": "0x0", + "data": "0x6080806040523461003c57600080546001600160a01b031916736b3ea22c757bbf9c78ccaaa2ed9562b57001720b1790556108bb90816100428239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80632499e3a2146101af578063c851cc32146101375763e1f21c671461004157600080fd5b346101335760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013357826100796106ec565b926024359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012f57602093604492865197889586947f095ea7b300000000000000000000000000000000000000000000000000000000865285015284356024850152165af190811561012657506100eb575080f35b6020813d821161011e575b8161010360209383610642565b8101031261011a5751801515036101175780f35b80fd5b5080fd5b3d91506100f6565b513d84823e3d90fd5b8380fd5b8280fd5b83346101175760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175773ffffffffffffffffffffffffffffffffffffffff6101846106ec565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815580f35b5082346101175760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175767ffffffffffffffff8335818111610133576101ff903690860161060c565b93909460249283358181116106085761021b903690840161060c565b505060443581811161060857610234903690840161060c565b50506064358181116106085761024d903690840161060c565b60849491943583811161060457610267903690860161060c565b96909460a435948511610600573660238601121561060057848101359761028d896106b2565b9761029a8651998a610642565b8989526020998a8a0197368683830101116105ac57818d92878e93018b378b0101528a8073ffffffffffffffffffffffffffffffffffffffff988982541690828d51925af19b3d156105f8573d9c6102f18e6106b2565b9d88519e8f906103019082610642565b528d8d8d3d92013e5b156105f4578d61032060449c9d9e9f8390610730565b88517fc3c1f2ec0000000000000000000000000000000000000000000000000000000081528681018f9052813588820152818f01359d81019d909d528089013560648e0152606081013560848e0152608081013560a48e01528c60c48b61038960a0850161070f565b169101528c60e48b61039d60c0850161070f565b169101528c6101048b6103b260e0850161070f565b169101528c6101248b6103c8610100850161070f565b169101528c6101448b6103de610120850161070f565b169101526101408101358015158091036105f0578d8f9261049590829361016484015261016081013561018484015261043261041e610180830183610798565b6101e06101a48701526102048601916107e8565b6104856104796104466101a0850185610798565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc949185898403016101c48a01526107e8565b926101c0810190610798565b91858403016101e48601526107e8565b038173490fb03f26b1c384d24f95e5771299770fef565f5af49b8c156105e4578e9c6105b0575b5060a0916104c991610730565b0135948786168096036105ac5715610581573595861680960361057d57156105535750509261053f92827f9a150784ee1734e823c00b5a817fab779b92b02d62cbfdc1c509b1ed3054c2e8999a9561054d979451998a998a5289015287015235606086015260c0608086015260c0850190610827565b9083820360a0850152610827565b0390a180f35b60328a917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8a80fd5b838c6032857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8c80fd5b909b508c81813d83116105dd575b6105c88183610642565b810103126105d957519a60a06104bc565b8d80fd5b503d6105be565b8e8951903d90823e3d90fd5b8f80fd5b8b80fd5b60609c61030a565b8880fd5b8780fd5b8580fd5b9181601f8401121561063d5782359167ffffffffffffffff831161063d576020808501948460051b01011161063d57565b600080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761068357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161068357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b9015610769578035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561063d570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561063d57016020813591019167ffffffffffffffff821161063d57813603831361063d57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919082519283825260005b8481106108715750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161083256fea2646970667358221220502c9b787c38b03faace0f456e585cdc4b8fd1097bd573294dc0fb27aa5c3de464736f6c63430008150033", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x490fb03f26b1c384d24f95e5771299770fef565f" + ], + "pending": [ + "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089" + ], + "returns": {}, + "timestamp": 1712310260, + "chain": 1890, + "multi": false, + "commit": "9a9f020" +} \ No newline at end of file diff --git a/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310267.json b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310267.json new file mode 100644 index 0000000..f0bd5be --- /dev/null +++ b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-1712310267.json @@ -0,0 +1,82 @@ +{ + "transactions": [ + { + "hash": "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x490Fb03F26B1c384D24f95e5771299770fef565f", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089", + "transactionType": "CREATE", + "contractName": "FacilitatorSwap", + "contractAddress": "0x8eE74f511c7e46D96E46C364009e69a9DeddC20F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xb0beb", + "value": "0x0", + "data": "0x6080806040523461003c57600080546001600160a01b031916736b3ea22c757bbf9c78ccaaa2ed9562b57001720b1790556108bb90816100428239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80632499e3a2146101af578063c851cc32146101375763e1f21c671461004157600080fd5b346101335760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013357826100796106ec565b926024359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012f57602093604492865197889586947f095ea7b300000000000000000000000000000000000000000000000000000000865285015284356024850152165af190811561012657506100eb575080f35b6020813d821161011e575b8161010360209383610642565b8101031261011a5751801515036101175780f35b80fd5b5080fd5b3d91506100f6565b513d84823e3d90fd5b8380fd5b8280fd5b83346101175760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175773ffffffffffffffffffffffffffffffffffffffff6101846106ec565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815580f35b5082346101175760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175767ffffffffffffffff8335818111610133576101ff903690860161060c565b93909460249283358181116106085761021b903690840161060c565b505060443581811161060857610234903690840161060c565b50506064358181116106085761024d903690840161060c565b60849491943583811161060457610267903690860161060c565b96909460a435948511610600573660238601121561060057848101359761028d896106b2565b9761029a8651998a610642565b8989526020998a8a0197368683830101116105ac57818d92878e93018b378b0101528a8073ffffffffffffffffffffffffffffffffffffffff988982541690828d51925af19b3d156105f8573d9c6102f18e6106b2565b9d88519e8f906103019082610642565b528d8d8d3d92013e5b156105f4578d61032060449c9d9e9f8390610730565b88517fc3c1f2ec0000000000000000000000000000000000000000000000000000000081528681018f9052813588820152818f01359d81019d909d528089013560648e0152606081013560848e0152608081013560a48e01528c60c48b61038960a0850161070f565b169101528c60e48b61039d60c0850161070f565b169101528c6101048b6103b260e0850161070f565b169101528c6101248b6103c8610100850161070f565b169101528c6101448b6103de610120850161070f565b169101526101408101358015158091036105f0578d8f9261049590829361016484015261016081013561018484015261043261041e610180830183610798565b6101e06101a48701526102048601916107e8565b6104856104796104466101a0850185610798565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc949185898403016101c48a01526107e8565b926101c0810190610798565b91858403016101e48601526107e8565b038173490fb03f26b1c384d24f95e5771299770fef565f5af49b8c156105e4578e9c6105b0575b5060a0916104c991610730565b0135948786168096036105ac5715610581573595861680960361057d57156105535750509261053f92827f9a150784ee1734e823c00b5a817fab779b92b02d62cbfdc1c509b1ed3054c2e8999a9561054d979451998a998a5289015287015235606086015260c0608086015260c0850190610827565b9083820360a0850152610827565b0390a180f35b60328a917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8a80fd5b838c6032857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8c80fd5b909b508c81813d83116105dd575b6105c88183610642565b810103126105d957519a60a06104bc565b8d80fd5b503d6105be565b8e8951903d90823e3d90fd5b8f80fd5b8b80fd5b60609c61030a565b8880fd5b8780fd5b8580fd5b9181601f8401121561063d5782359167ffffffffffffffff831161063d576020808501948460051b01011161063d57565b600080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761068357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161068357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b9015610769578035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561063d570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561063d57016020813591019167ffffffffffffffff821161063d57813603831361063d57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919082519283825260005b8481106108715750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161083256fea2646970667358221220502c9b787c38b03faace0f456e585cdc4b8fd1097bd573294dc0fb27aa5c3de464736f6c63430008150033", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "transactionIndex": "0x0", + "blockHash": "0xd4aa34aeaebd5bd340a7b37c68524da75acefe9a410762b8f87c2f0dba6002e8", + "blockNumber": "0x47296eb", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0x490Fb03F26B1c384D24f95e5771299770fef565f", + "logs": [], + "status": "0x1", + "root": "0x72bbe43250d55666e9c828c69bf9b0402029b6ff42cca302162aebfd60527097", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089", + "transactionIndex": "0x1", + "blockHash": "0xd4aa34aeaebd5bd340a7b37c68524da75acefe9a410762b8f87c2f0dba6002e8", + "blockNumber": "0x47296eb", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x87fe3", + "gasUsed": "0x87fe3", + "contractAddress": "0x8eE74f511c7e46D96E46C364009e69a9DeddC20F", + "logs": [], + "status": "0x1", + "root": "0xb094c2858f623da94abd3b8064fc6fa90f2cdc51e01117c9fe25f0b0be70d318", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x490fb03f26b1c384d24f95e5771299770fef565f" + ], + "pending": [], + "returns": {}, + "timestamp": 1712310267, + "chain": 1890, + "multi": false, + "commit": "9a9f020" +} \ No newline at end of file diff --git a/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-latest.json b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-latest.json new file mode 100644 index 0000000..f0bd5be --- /dev/null +++ b/broadcast/deployFacilitatorSwapContract.s.sol/1890/run-latest.json @@ -0,0 +1,82 @@ +{ + "transactions": [ + { + "hash": "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "transactionType": "CREATE", + "contractName": "OrderEngine", + "contractAddress": "0x490Fb03F26B1c384D24f95e5771299770fef565f", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xd7c66", + "data": "0x6080806040523461001a57610b5b9081610020823930815050f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c90816321cd19a91461069f5781634416e986146104d857816395de97cc146104b7578163b4c07547146100d557508063b91611f41461007c5763c3c1f2ec1461006157600080fd5b602061007461006f3661077e565b610985565b604051908152f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05760206040517fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df008152f35b600080fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d05780359067ffffffffffffffff82116100d057366023830112156100d05781602461012e93369301359101610895565b60606101c060405161013f8161082d565b60008152600060208201526000604082015260008382015260006080820152600060a0820152600060c0820152600060e0820152600061010082015260006101208201526000610140820152600061016082015282610180820152826101a082015201526101e0818051810103126100d05760208101516040820151916060810151608082015160a08301516101d760c08501610b04565b6101e360e08601610b04565b6101f06101008701610b04565b6101fd6101208801610b04565b9161020b6101408901610b04565b936101608901519586151587036100d0576101808a0151976101a08b0151996101c08c01519b6101e001519c6040519b60208d015260208c5261024d8c610879565b6040519c60208e015260208d526102638d610879565b6040519d60208f01528d6020815261027a90610879565b6040519e8f916102898361082d565b825260208201526040015260608d015260808c015273ffffffffffffffffffffffffffffffffffffffff1660a08b015273ffffffffffffffffffffffffffffffffffffffff1660c08a015273ffffffffffffffffffffffffffffffffffffffff1660e089015273ffffffffffffffffffffffffffffffffffffffff1661010088015273ffffffffffffffffffffffffffffffffffffffff1661012087015215156101408601526101608501526101808401526101a08301526101c082015260405180916020825280516020830152602081015160408301526040810151606083015260608101516080830152608081015160a083015260a081015173ffffffffffffffffffffffffffffffffffffffff1660c083015260c081015173ffffffffffffffffffffffffffffffffffffffff1660e083015260e081015173ffffffffffffffffffffffffffffffffffffffff1661010083015261010081015173ffffffffffffffffffffffffffffffffffffffff1661012083015261012081015173ffffffffffffffffffffffffffffffffffffffff1661014083015261014081015115156101608301526101608101516101808301526101808101516101a083016101e09052610200830161045c916107cf565b906101a08101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09283858203016101c0860152610499916107cf565b906101c0015191838203016101e08401526104b3916107cf565b0390f35b60206104cd60a06104c73661077e565b01610906565b3b1515604051908152f35b6104e13661077e565b6104ed60a08201610906565b6104f960c08301610906565b61050560e08401610906565b9061016061010094610518868201610906565b9361012090610528828401610906565b9061014091610538838601610927565b9361055161054a610180880188610934565b3691610895565b602081519101209761056a61054a6101a0890189610934565b602081519101209961058361054a6101c08a018a610934565b602081519101209b6040519d8e918a35602084015260208b0135604084015260408b0135606084015260608b0135608084015260808b013560a084015273ffffffffffffffffffffffffffffffffffffffff978880968180941660c08701521660e08501521691015216908b0152169088015215158287015201356101808501526101a08401526101c08301526101e09081830152815261020081019181831067ffffffffffffffff84111761067157507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0090826040526020835261066c6102208201826107cf565b030190f35b6041907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126100d057813567ffffffffffffffff918282116100d0576101e09082360301126100d0576106f5908301610985565b60405160208101917f1901000000000000000000000000000000000000000000000000000000000000835260243560228301526042820152604281526080810192818410908411176107505760209350826040525190208152f35b6041847f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126100d0576004359167ffffffffffffffff83116100d057826101e0920301126100d05760040190565b919082519283825260005b8481106108195750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016107da565b6101e0810190811067ffffffffffffffff82111761084a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761084a57604052565b92919267ffffffffffffffff9182811161084a5760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011684019081118482101761084a576040528294818452818301116100d0578281602093846000960137010152565b3573ffffffffffffffffffffffffffffffffffffffff811681036100d05790565b3580151581036100d05790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100d0570180359067ffffffffffffffff82116100d0576020019181360383136100d057565b61099160a08201610906565b9061099e60c08201610906565b6109aa60e08301610906565b90610160610100936109bd858201610906565b92610120956109cd878401610906565b90610140916109dd838601610927565b92610180946109f161054a87890189610934565b6020815191012098610a0a61054a6101a08a018a610934565b602081519101209a610a2361054a6101c08b018b610934565b602081519101209c6040519e8f927fb91209a767a8178c503c992a2db0dd232393048d748c43a04d40fcccacc0df0060208501528b35604085015260208c0135606085015260408c0135608085015260608c013560a085015260808c013560c085015273ffffffffffffffffffffffffffffffffffffffff988980978180951660e088015216908501521691015216908b0152168489015215159087015201356101a08501526101c08401526101e083015261020090818301528152610220810181811067ffffffffffffffff82111761084a576040526020815191012090565b519073ffffffffffffffffffffffffffffffffffffffff821682036100d05756fea26469706673582212201805f314460b1a5374bb253f72f024bdc8ea21cc2e77073b1164f84307a2015264736f6c63430008150033", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089", + "transactionType": "CREATE", + "contractName": "FacilitatorSwap", + "contractAddress": "0x8eE74f511c7e46D96E46C364009e69a9DeddC20F", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf29f5fc83c9310c887efce9d68cae1f046b6511b", + "gas": "0xb0beb", + "value": "0x0", + "data": "0x6080806040523461003c57600080546001600160a01b031916736b3ea22c757bbf9c78ccaaa2ed9562b57001720b1790556108bb90816100428239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80632499e3a2146101af578063c851cc32146101375763e1f21c671461004157600080fd5b346101335760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013357826100796106ec565b926024359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012f57602093604492865197889586947f095ea7b300000000000000000000000000000000000000000000000000000000865285015284356024850152165af190811561012657506100eb575080f35b6020813d821161011e575b8161010360209383610642565b8101031261011a5751801515036101175780f35b80fd5b5080fd5b3d91506100f6565b513d84823e3d90fd5b8380fd5b8280fd5b83346101175760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175773ffffffffffffffffffffffffffffffffffffffff6101846106ec565b167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815580f35b5082346101175760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101175767ffffffffffffffff8335818111610133576101ff903690860161060c565b93909460249283358181116106085761021b903690840161060c565b505060443581811161060857610234903690840161060c565b50506064358181116106085761024d903690840161060c565b60849491943583811161060457610267903690860161060c565b96909460a435948511610600573660238601121561060057848101359761028d896106b2565b9761029a8651998a610642565b8989526020998a8a0197368683830101116105ac57818d92878e93018b378b0101528a8073ffffffffffffffffffffffffffffffffffffffff988982541690828d51925af19b3d156105f8573d9c6102f18e6106b2565b9d88519e8f906103019082610642565b528d8d8d3d92013e5b156105f4578d61032060449c9d9e9f8390610730565b88517fc3c1f2ec0000000000000000000000000000000000000000000000000000000081528681018f9052813588820152818f01359d81019d909d528089013560648e0152606081013560848e0152608081013560a48e01528c60c48b61038960a0850161070f565b169101528c60e48b61039d60c0850161070f565b169101528c6101048b6103b260e0850161070f565b169101528c6101248b6103c8610100850161070f565b169101528c6101448b6103de610120850161070f565b169101526101408101358015158091036105f0578d8f9261049590829361016484015261016081013561018484015261043261041e610180830183610798565b6101e06101a48701526102048601916107e8565b6104856104796104466101a0850185610798565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc949185898403016101c48a01526107e8565b926101c0810190610798565b91858403016101e48601526107e8565b038173490fb03f26b1c384d24f95e5771299770fef565f5af49b8c156105e4578e9c6105b0575b5060a0916104c991610730565b0135948786168096036105ac5715610581573595861680960361057d57156105535750509261053f92827f9a150784ee1734e823c00b5a817fab779b92b02d62cbfdc1c509b1ed3054c2e8999a9561054d979451998a998a5289015287015235606086015260c0608086015260c0850190610827565b9083820360a0850152610827565b0390a180f35b60328a917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8a80fd5b838c6032857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8c80fd5b909b508c81813d83116105dd575b6105c88183610642565b810103126105d957519a60a06104bc565b8d80fd5b503d6105be565b8e8951903d90823e3d90fd5b8f80fd5b8b80fd5b60609c61030a565b8880fd5b8780fd5b8580fd5b9181601f8401121561063d5782359167ffffffffffffffff831161063d576020808501948460051b01011161063d57565b600080fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761068357604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161068357601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361063d57565b9015610769578035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe218136030182121561063d570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561063d57016020813591019167ffffffffffffffff821161063d57813603831361063d57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b919082519283825260005b8481106108715750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161083256fea2646970667358221220502c9b787c38b03faace0f456e585cdc4b8fd1097bd573294dc0fb27aa5c3de464736f6c63430008150033", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf22157bc265e79fb7b7fc419044fb340e5f547f4d1a94ab6d60d751a48687be5", + "transactionIndex": "0x0", + "blockHash": "0xd4aa34aeaebd5bd340a7b37c68524da75acefe9a410762b8f87c2f0dba6002e8", + "blockNumber": "0x47296eb", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0xa6069", + "gasUsed": "0xa6069", + "contractAddress": "0x490Fb03F26B1c384D24f95e5771299770fef565f", + "logs": [], + "status": "0x1", + "root": "0x72bbe43250d55666e9c828c69bf9b0402029b6ff42cca302162aebfd60527097", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + }, + { + "transactionHash": "0xb19713a8dfe84120ca9a90e8908450883ef3458d28c96bdc9a23114b3fe3f089", + "transactionIndex": "0x1", + "blockHash": "0xd4aa34aeaebd5bd340a7b37c68524da75acefe9a410762b8f87c2f0dba6002e8", + "blockNumber": "0x47296eb", + "from": "0xf29F5fc83c9310c887EFce9D68Cae1F046B6511B", + "to": null, + "cumulativeGasUsed": "0x87fe3", + "gasUsed": "0x87fe3", + "contractAddress": "0x8eE74f511c7e46D96E46C364009e69a9DeddC20F", + "logs": [], + "status": "0x1", + "root": "0xb094c2858f623da94abd3b8064fc6fa90f2cdc51e01117c9fe25f0b0be70d318", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0" + } + ], + "libraries": [ + "src/libraries/OrderEngine.sol:OrderEngine:0x490fb03f26b1c384d24f95e5771299770fef565f" + ], + "pending": [], + "returns": {}, + "timestamp": 1712310267, + "chain": 1890, + "multi": false, + "commit": "9a9f020" +} \ No newline at end of file